@charset "UTF-8";
/***************************************
Typography
****************************************/
h1, h2, h3, h4, h5 {
  font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif; }

p {
  font-family: "ff-meta-serif-web-pro", serif; }

/***************************************
Colors
****************************************/
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 45em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder; }

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
  border-style: none; }

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none; }

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
  overflow: auto; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=45em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.2;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.grid-container {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 45em) {
    .grid-container {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  .grid-container.fluid {
    padding-right: 0.3125rem;
    padding-left: 0.3125rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 45em) {
      .grid-container.fluid {
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 45em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 45em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.3125rem;
  margin-right: -0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-margin-x {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 0.625rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 0.625rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 0.625rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 0.625rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 0.625rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 0.625rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 0.625rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 0.625rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 0.625rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 0.625rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 0.625rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 45em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.25rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.25rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.25rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-padding-x > .cell {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 45em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.625rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.625rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.625rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.625rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.625rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.625rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.625rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.625rem); }

@media print, screen and (min-width: 45em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 0.625rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 0.625rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 0.625rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 0.625rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 0.625rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 0.625rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 0.625rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 0.625rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 45em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 45em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 45em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 45em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 45em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.3125rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.3125rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.3125rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.3125rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.3125rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.3125rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.3125rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.3125rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.3125rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.3125rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.3125rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.3125rem); }

@media print, screen and (min-width: 45em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.625rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.625rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.625rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.625rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.625rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.625rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.625rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.625rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.625rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.625rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.625rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.625rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.625rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.625rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.625rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.625rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.625rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.625rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.625rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.625rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.625rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.625rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.625rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.625rem); } }

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 45em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 45em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-padding-y > .cell {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 45em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 45em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 45em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 45em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 45em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 45em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.625rem); }
  @media print, screen and (min-width: 45em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 45em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.25rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 0rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: bold;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 45em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #0a0a0a;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #090909; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 0rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 0rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 45em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #e82f3a;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #d61823;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #e82f3a;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #e82f3a;
    color: #e82f3a; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #7e0e15;
      color: #7e0e15; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #e82f3a;
        color: #e82f3a; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #e82f3a;
    color: #e82f3a; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #7e0e15;
      color: #7e0e15; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #e82f3a;
        color: #e82f3a; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #e82f3a; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 45em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 44.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 45em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.align-left {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #1779ba; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a; }

@media print, screen and (min-width: 45em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 44.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 44.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 45em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 45em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    -webkit-transition: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 45em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 45em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 45em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 45em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 45em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 45em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 44.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead, tbody, tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);
            box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    -webkit-box-shadow: none;
            box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #fefefe; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 45em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 44.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 45em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 45em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 44.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 45em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 44.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

.align-right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 45em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 45em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

input[type="range"] {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 0.45rem;
  margin-bottom: 0.45rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  line-height: 1;
  cursor: pointer; }
  input[type="range"]:focus {
    outline: 0; }
  input[type="range"][disabled] {
    opacity: 0.25; }
  input[type="range"]::-webkit-slider-runnable-track {
    height: 0.5rem;
    background: #e6e6e6; }
  input[type="range"]::-webkit-slider-handle {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: -0.45rem;
    -webkit-appearance: none;
    background: #1779ba; }
  input[type="range"]::-moz-range-track {
    height: 0.5rem;
    -moz-appearance: none;
    background: #e6e6e6; }
  input[type="range"]::-moz-range-thumb {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: -0.45rem;
    -moz-appearance: none;
    background: #1779ba; }
  input[type="range"]::-ms-track {
    height: 0.5rem;
    border: 0;
    border-top: 0.45rem solid #fefefe;
    border-bottom: 0.45rem solid #fefefe;
    background: #e6e6e6;
    overflow: visible;
    color: transparent; }
  input[type="range"]::-ms-thumb {
    width: 1.4rem;
    height: 1.4rem;
    border: 0;
    background: #1779ba; }
  input[type="range"]::-ms-fill-lower {
    background: #cacaca; }
  input[type="range"]::-ms-fill-upper {
    background: #e6e6e6; }
  output {
    vertical-align: middle;
    margin-left: 0.5em;
    line-height: 1.4rem; }

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  -webkit-transition-duration: 750ms !important;
          transition-duration: 750ms !important; }

.fast {
  -webkit-transition-duration: 250ms !important;
          transition-duration: 250ms !important; }

.linear {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important; }

.ease {
  -webkit-transition-timing-function: ease !important;
          transition-timing-function: ease !important; }

.ease-in {
  -webkit-transition-timing-function: ease-in !important;
          transition-timing-function: ease-in !important; }

.ease-out {
  -webkit-transition-timing-function: ease-out !important;
          transition-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-transition-delay: 300ms !important;
          transition-delay: 300ms !important; }

.long-delay {
  -webkit-transition-delay: 700ms !important;
          transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

/***********************************
Global CSS settings
***********************************/
/*
Section
*/
.sticky-container {
  z-index: 1; }

.page-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 15px;
  padding-bottom: 15px;
  border: none;
  background-image: none;
  background-color: #f7f7f7;
  background-position: center;
  background-size: cover;
  min-height: 250px;
  text-align: center; }
  @media only screen and (min-width: 720px) {
    .page-header {
      background-color: #primaryWhite;
      text-align: left;
      background-position: 60%;
      border-top: 1px solid #adadae;
      border-bottom: 1px solid #adadae; } }
  .page-header h2 {
    width: 100%; }
    @media only screen and (min-width: 720px) {
      .page-header h2 {
        width: 60%; } }
  .page-header .page-content {
    width: 100%; }
    @media only screen and (min-width: 720px) {
      .page-header .page-content {
        width: 50%; } }

.page-desktop {
  display: none; }
  @media only screen and (min-width: 720px) {
    .page-desktop {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.page-mobile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 720px) {
    .page-mobile {
      display: none; } }

.content-container {
  margin-top: 20px;
  margin-bottom: 20px; }

.button-container {
  margin-top: 20px; }

.button {
  font-family: "canada-type-gibson";
  background-color: #e82f3a;
  border-radius: 4px;
  color: #f7f7f7;
  font-weight: 700;
  border: none;
  -webkit-box-shadow: 0 2px 0 #7b0109;
  box-shadow: 0 2px 0 #7b0109;
  text-transform: none;
  padding-right: 10px;
  padding-left: 10px;
  text-transform: capitalize; }

.v-align {
  display: table; }
  .v-align .text-inner {
    display: table-cell;
    vertical-align: middle; }

.container-404 {
  text-align: center;
  padding: 10%; }
  .container-404 img {
    margin-bottom: 25px; }

p.title {
  margin-bottom: 25px;
  font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700; }

p.center {
  text-align: center; }

.align-center {
  text-align: center; }

/***************************************
* Slick js overrides
****************************************/
.slick-dotted.slick-slider {
  margin-bottom: 0; }

.slick-dots {
  bottom: 15px; }

.slick-dots li.slick-active button:before {
  color: #e82f3a; }

.red-bg .slick-dots {
  bottom: 0; }

.quote-section .slick-dots {
  bottom: -20px; }

/**********************************
*
header.scss
*
***********************************/
header {
  border-bottom: 1px solid #f7f7f7; }
  header .mobile-hide {
    display: none; }
    @media only screen and (min-width: 720px) {
      header .mobile-hide {
        display: block; } }
  header .mobile-show {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media only screen and (min-width: 720px) {
      header .mobile-show {
        display: none; } }
  header .menu-separator {
    border-top: 1px solid #e6e6e6;
    width: 70%;
    margin: 0 auto;
    padding-top: 10px; }
  header .contact-links {
    margin-right: 5px; }
  header .preheader {
    background: #f7f7f7;
    padding-top: 5px;
    padding-bottom: 5px; }
    header .preheader .mobile-logo-container {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      header .preheader .mobile-logo-container .mobile-logo {
        margin-right: 15px;
        padding: 15px; }
      @media only screen and (min-width: 720px) {
        header .preheader .mobile-logo-container {
          display: none; } }
      header .preheader .mobile-logo-container .phone {
        border: 1px solid #e6e6e6;
        padding: 15px;
        height: 48px;
        line-height: 8px;
        margin: 15px;
        border-radius: 4px;
        background-clip: padding-box;
        /* stops bg color from leaking outside the border: */ }
        header .preheader .mobile-logo-container .phone i {
          font-size: 18px;
          color: #cacaca; }
    header .preheader .paragraph-2 {
      display: inline-block; }
    header .preheader p {
      font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
      color: #231f20; }
    header .preheader .header-links {
      margin-left: 10px; }
      header .preheader .header-links i {
        margin-right: 5px; }
    header .preheader a {
      color: #231f20; }
    header .preheader .social-items {
      float: right; }
      header .preheader .social-items .social-item {
        display: inline-block;
        padding-right: 7.5px;
        padding-left: 7.5px; }
  header .title-bar {
    background: #e82f3a;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  header .menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media only screen and (min-width: 720px) {
      header .menu {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: left;
        -webkit-align-items: left;
            -ms-flex-align: left;
                align-items: left; } }
    header .menu .social-menu-item {
      display: inline-block; }
  header .menu-logo {
    display: none;
    padding-top: 10px;
    padding-bottom: 10px; }
    @media only screen and (min-width: 720px) {
      header .menu-logo {
        display: block; } }
    header .menu-logo .logo {
      width: 300px; }
  header .menu-container {
    display: inline-block; }

.top-bar-right li a {
  -webkit-transition: 0.2s border-bottom ease-in-out;
  transition: 0.2s border-bottom ease-in-out;
  border-bottom: 2px solid transparent; }
  .top-bar-right li a.item {
    font-weight: 700; }
    @media only screen and (min-width: 720px) {
      .top-bar-right li a.item {
        font-weight: normal; } }
  .top-bar-right li a:hover {
    border-bottom: 2px solid #e82f3a; }

.is-dropdown-submenu {
  background: #fefefe !important;
  z-index: 10; }

footer {
  background: #231f20;
  color: #fefefe; }
  footer a {
    color: #fefefe;
    -webkit-transition: 0.3s color ease-in-out;
    transition: 0.3s color ease-in-out; }
    footer a:hover {
      color: #bebebe; }
  footer #signup input {
    color: #fefefe; }
  footer #signup .show-on-submit {
    display: none; }
    footer #signup .show-on-submit h4 {
      text-align: center; }
  footer .footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 5%; }
    @media only screen and (min-width: 720px) {
      footer .footer {
        padding: 5% 0; } }
    footer .footer .footer-content {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media only screen and (min-width: 720px) {
        footer .footer .footer-content {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      footer .footer .footer-content .footer-logo-container {
        margin-right: 15px; }
        footer .footer .footer-content .footer-logo-container img {
          width: 100%; }
        @media only screen and (min-width: 720px) {
          footer .footer .footer-content .footer-logo-container {
            width: auto; } }
      footer .footer .footer-content .footer-half {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%; }
        @media only screen and (min-width: 720px) {
          footer .footer .footer-content .footer-half {
            width: 100%; } }
      footer .footer .footer-content .footer-text {
        margin-bottom: 30px;
        display: none; }
        @media only screen and (min-width: 720px) {
          footer .footer .footer-content .footer-text {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; } }
        footer .footer .footer-content .footer-text .text-container {
          width: 70%; }
          @media only screen and (min-width: 720px) {
            footer .footer .footer-content .footer-text .text-container {
              width: 90%; } }
      footer .footer .footer-content .footer-about {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        @media only screen and (min-width: 720px) {
          footer .footer .footer-content .footer-about {
            -webkit-box-pack: left;
            -webkit-justify-content: left;
                -ms-flex-pack: left;
                    justify-content: left; } }
        footer .footer .footer-content .footer-about .location-container {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; }
          @media only screen and (min-width: 720px) {
            footer .footer .footer-content .footer-about .location-container {
              -webkit-box-orient: horizontal;
              -webkit-box-direction: normal;
              -webkit-flex-direction: row;
                  -ms-flex-direction: row;
                      flex-direction: row; } }
          footer .footer .footer-content .footer-about .location-container .location {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            margin-bottom: 30px; }
            @media only screen and (min-width: 720px) {
              footer .footer .footer-content .footer-about .location-container .location:not(:first-of-type) {
                padding-left: 15px; } }
            footer .footer .footer-content .footer-about .location-container .location .address-icon {
              display: inline-block;
              border: 1px white solid;
              height: 45px;
              width: 45px;
              padding: 5% 5px;
              text-align: center;
              margin-right: 10px; }
            footer .footer .footer-content .footer-about .location-container .location .address:not(:first-of-type) {
              margin-left: 30px; }
  footer .subscribe-text {
    margin-bottom: 25px;
    text-align: center; }
    @media only screen and (min-width: 720px) {
      footer .subscribe-text {
        text-align: left;
        margin-bottom: 0; } }
  footer #signup {
    padding-top: 15px;
    background: #e82f3a;
    color: #fefefe; }
    footer #signup input {
      background-color: #e82f3a; }
  footer .footer-form {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    footer .footer-form input {
      border-color: #fefefe; }
      footer .footer-form input:focus {
        border-color: #fefefe;
        -webkit-box-shadow: 0 0 10px #fefefe;
        box-shadow: 0 0 10px #fefefe; }
      footer .footer-form input::-webkit-input-placeholder {
        color: #fefefe; }
    footer .footer-form label {
      color: #fefefe;
      font-weight: 700;
      font-size: 18px;
      margin-top: 8px; }
      footer .footer-form label.error {
        font-weight: 100;
        font-size: 14px;
        margin-bottom: 15px;
        margin-top: -.8rem; }
    footer .footer-form .button-subscribe {
      border-radius: 0;
      background: #fefefe;
      color: #e82f3a;
      font-weight: 700;
      font-family: "canada-type-gibson";
      border: none;
      padding-right: 10px;
      padding-left: 10px;
      text-transform: capitalize;
      -webkit-box-shadow: none;
              box-shadow: none;
      width: 100%;
      -webkit-transition: 0.3s background ease-in-out;
      transition: 0.3s background ease-in-out; }
      footer .footer-form .button-subscribe:hover {
        background: #e5e5e5; }
      @media only screen and (min-width: 720px) {
        footer .footer-form .button-subscribe {
          width: auto; } }
  footer .policy-text .container {
    border-top: 1px solid #adadae;
    padding: 10px 0; }
  footer .policy-text p {
    font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif; }

/**********************************
Front page
***********************************/
.video-section {
  display: none; }
  .video-section .video-container {
    text-align: center; }
    .video-section .video-container video {
      width: 100%;
      height: auto !important; }

.section-section {
  padding-top: 5%;
  padding-bottom: 5%; }

.content--inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.hero-section {
  display: none;
  /* initial hide for video playback */
  position: relative; }
  .hero-section .hero-desktop {
    display: none; }
    @media only screen and (min-width: 1024px) {
      .hero-section .hero-desktop {
        display: block; } }
  .hero-section .hero-medium {
    display: none; }
    @media only screen and (min-width: 720px) {
      .hero-section .hero-medium {
        display: block; } }
    @media only screen and (min-width: 1024px) {
      .hero-section .hero-medium {
        display: none; } }
  .hero-section .hero-mobile {
    display: block; }
    @media only screen and (min-width: 720px) {
      .hero-section .hero-mobile {
        display: none; } }
  .hero-section .hero-carousel {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    .hero-section .hero-carousel .image-container {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      height: 500px; }
      @media only screen and (min-width: 720px) {
        .hero-section .hero-carousel .image-container {
          height: 600px; } }
      .hero-section .hero-carousel .image-container .hero-mobile {
        display: block;
        width: 100%; }
        @media only screen and (min-width: 720px) {
          .hero-section .hero-carousel .image-container .hero-mobile {
            display: none; } }
      .hero-section .hero-carousel .image-container .hero-desktop {
        display: none; }
        @media only screen and (min-width: 1024px) {
          .hero-section .hero-carousel .image-container .hero-desktop {
            display: block; } }
  .hero-section .hero-section--inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    text-align: center; }
    @media only screen and (min-width: 425px) {
      .hero-section .hero-section--inner {
        top: 15%; } }
    @media only screen and (min-width: 720px) {
      .hero-section .hero-section--inner {
        text-align: left; } }
    @media only screen and (min-width: 1024px) {
      .hero-section .hero-section--inner {
        top: 15%; } }
    .hero-section .hero-section--inner .home-title {
      line-height: 1.2;
      font-size: 1.5rem; }
      @media only screen and (min-width: 1024px) {
        .hero-section .hero-section--inner .home-title {
          font-size: 2.5rem; } }
      @media only screen and (min-width: 1200px) {
        .hero-section .hero-section--inner .home-title {
          font-size: 3rem; } }
    .hero-section .hero-section--inner .hero-text {
      margin-top: 15px;
      margin-bottom: 15px;
      width: 100%; }
      @media only screen and (min-width: 1024px) {
        .hero-section .hero-section--inner .hero-text {
          margin-top: 3%;
          margin-bottom: 3%; } }
      .hero-section .hero-section--inner .hero-text p {
        color: #858585; }
    .hero-section .hero-section--inner .dark-text p {
      color: #0a0a0a; }
    .hero-section .hero-section--inner .light-text p {
      color: #858585; }

.services-section {
  background-color: #e82f3a;
  color: #fefefe;
  padding-top: 5%;
  padding-bottom: 5%; }
  .services-section .service--text {
    text-align: center; }
    .services-section .service--text p {
      font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif; }
  .services-section .service-section--services {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .services-section .service-section--services a {
      -webkit-transition: 0.3s all ease-in-out;
      transition: 0.3s all ease-in-out;
      width: auto; }
      .services-section .service-section--services a:hover {
        -webkit-box-shadow: 0 0 5px #fefefe;
        box-shadow: 0 0 5px #fefefe; }
      @media only screen and (min-width: 720px) {
        .services-section .service-section--services a {
          width: 20%; } }
    .services-section .service-section--services .section--images {
      display: none;
      width: 20%;
      margin-top: 5px; }
      .services-section .service-section--services .section--images:not(:first-of-type) {
        margin-left: 5px; }
      @media only screen and (min-width: 720px) {
        .services-section .service-section--services .section--images {
          display: block; } }
    .services-section .service-section--services .service-box {
      margin-top: 20px;
      padding: 15px 20px;
      background-color: #fefefe; }
      @media only screen and (min-width: 720px) {
        .services-section .service-section--services .service-box {
          padding: 15px 40px; } }
      .services-section .service-section--services .service-box:not(:first-of-type) {
        margin-left: 5px; }
      .services-section .service-section--services .service-box p {
        font-size: 18px;
        font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
        color: #e82f3a; }
  .services-section #ind--service {
    display: none;
    color: #0a0a0a; }
    .services-section #ind--service .service-box {
      position: relative;
      margin: 5px 5px;
      background: #fefefe;
      padding: 25px; }
      .services-section #ind--service .service-box h4, .services-section #ind--service .service-box .learn-more--link {
        -webkit-transition: 0.3s all ease-in-out;
        transition: 0.3s all ease-in-out; }
      .services-section #ind--service .service-box:hover {
        -webkit-box-shadow: 0 0 5px #fefefe;
        box-shadow: 0 0 5px #fefefe; }
        .services-section #ind--service .service-box:hover h4 {
          color: #e82f3a; }
        .services-section #ind--service .service-box:hover .learn-more--link {
          text-decoration: underline;
          color: #e82f3a; }
      @media only screen and (min-width: 720px) {
        .services-section #ind--service .service-box {
          margin: 15px 10px; } }
      .services-section #ind--service .service-box img {
        position: absolute;
        width: 140px;
        right: 5px;
        top: 5px; }
      .services-section #ind--service .service-box h4 {
        margin-bottom: 15px; }
      .services-section #ind--service .service-box p {
        margin-bottom: 15px; }
      .services-section #ind--service .service-box a {
        font-family: "ff-meta-serif-web-pro", serif; }

.founder-section .founder-section--inner .content--inner {
  width: 90%;
  margin: 0 auto; }
  .founder-section .founder-section--inner .content--inner .grid-x {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }

.founder-section .founder-section--inner .philosophy-title {
  color: #858585; }

.founder-section .founder-section--inner .founder p {
  font-family: "ff-meta-serif-web-pro", serif; }

.founder-section .founder-section--inner .founder-title p {
  font-size: 14px;
  color: #858585; }

.founder-section .founder-section--inner .button-container {
  margin-top: 25px; }

.founder-section .founder-section--inner .quote {
  padding-top: 15px;
  padding-bottom: 15px; }
  .founder-section .founder-section--inner .quote p {
    font-size: 24px;
    font-style: italic;
    line-height: 1.6;
    display: inline; }

.clients-section {
  background: #f7f7f7; }
  .clients-section .clients-section--inner {
    text-align: center;
    padding-top: 5%;
    padding-bottom: 5%; }
    .clients-section .clients-section--inner .client-text {
      width: 75%;
      margin: 0 auto; }
      .clients-section .clients-section--inner .client-text p {
        color: #858585; }
    .clients-section .clients-section--inner .client-logos {
      margin-top: 25px; }
      .clients-section .clients-section--inner .client-logos img {
        width: 170px;
        padding: 10px 15px; }

@media only screen and (min-width: 720px) {
  .service-header {
    background-image: url(/img/test-header.png); } }

.service-tier--container {
  margin-bottom: 25px;
  margin-top: 25px; }
  .service-tier--container .content-image {
    display: inline-block; }
  .service-tier--container .image-right {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 25px; }
  .service-tier--container .image-left {
    margin-top: 25px; }
  .service-tier--container .content-container {
    display: table;
    height: 100%; }
    .service-tier--container .content-container .content-container--inner {
      display: table-cell;
      vertical-align: middle; }
      .service-tier--container .content-container .content-container--inner p {
        margin-bottom: 1rem; }
        .service-tier--container .content-container .content-container--inner p strong {
          font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif; }
      .service-tier--container .content-container .content-container--inner .service--learn-more .media-object {
        padding: 5px;
        -webkit-transition: 0.3s all linear;
        transition: 0.3s all linear; }
        .service-tier--container .content-container .content-container--inner .service--learn-more .media-object:hover {
          background: #e6e6e6; }
          .service-tier--container .content-container .content-container--inner .service--learn-more .media-object:hover .service-links p {
            color: #e82f3a; }
      .service-tier--container .content-container .content-container--inner .service--learn-more .service-links p {
        font-size: 24px;
        font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
        font-weight: 700;
        line-height: 1.2; }
      .service-tier--container .content-container .content-container--inner .service--learn-more .link {
        color: #e82f3a;
        text-decoration: underline;
        font-family: "ff-meta-serif-web-pro", serif; }
    .service-tier--container .content-container li {
      font-family: "ff-meta-serif-web-pro", serif; }
  .service-tier--container .service-container img {
    margin-right: 20px;
    margin-left: 20px;
    width: 50%; }
  .service-tier--container .service-tiers {
    cursor: pointer;
    border: 1px solid #adadae;
    border-radius: 3px; }
    @media only screen and (min-width: 720px) {
      .service-tier--container .service-tiers {
        border: none; } }
    @media only screen and (min-width: 720px) {
      .service-tier--container .service-tiers {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .service-tier--container .service-tiers .tier {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding-top: 30px;
      padding-bottom: 30px;
      padding-right: 15px;
      padding-left: 15px;
      border-top: 1px solid #adadae;
      border-bottom: none;
      margin: 0 auto; }
      @media only screen and (min-width: 720px) {
        .service-tier--container .service-tiers .tier {
          padding-top: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #adadae; } }
      .service-tier--container .service-tiers .tier .tier-logo {
        width: 30%;
        margin-right: 10px; }
        @media only screen and (min-width: 720px) {
          .service-tier--container .service-tiers .tier .tier-logo {
            margin-right: 0;
            width: 20%; } }
        @media only screen and (min-width: 1024px) {
          .service-tier--container .service-tiers .tier .tier-logo {
            width: 30%; } }
        @media only screen and (min-width: 720px) {
          .service-tier--container .service-tiers .tier .tier-logo img {
            padding: 5px; } }
        @media only screen and (min-width: 1024px) {
          .service-tier--container .service-tiers .tier .tier-logo img {
            padding: 10px; } }
        .service-tier--container .service-tiers .tier .tier-logo img {
          max-width: 100%; }
      .service-tier--container .service-tiers .tier .tier-content h3 {
        text-align: left; }
        @media only screen and (min-width: 720px) {
          .service-tier--container .service-tiers .tier .tier-content h3 {
            text-align: center; } }
      .service-tier--container .service-tiers .tier:not(:first-of-type) {
        border-left: none; }
        @media only screen and (min-width: 720px) {
          .service-tier--container .service-tiers .tier:not(:first-of-type) {
            border-left: 1px solid #adadae;
            border-top: 1px solid #adadae; } }
      .service-tier--container .service-tiers .tier:first-of-type {
        border-top: none;
        border-left: none;
        border-bottom-left-radius: 3px;
        border-top-left-radius: 3px;
        background-clip: padding-box; }
        @media only screen and (min-width: 720px) {
          .service-tier--container .service-tiers .tier:first-of-type {
            border-top: 1px solid #adadae;
            border-left: 1px solid #adadae; } }
      .service-tier--container .service-tiers .tier:last-of-type {
        border-right: none;
        border-bottom-right-radius: 3px;
        border-top-right-radius: 3px;
        background-clip: padding-box; }
        @media only screen and (min-width: 720px) {
          .service-tier--container .service-tiers .tier:last-of-type {
            border-right: 1px solid #adadae; } }
      .service-tier--container .service-tiers .tier ul li {
        font-family: "ff-meta-serif-web-pro", serif; }
      .service-tier--container .service-tiers .tier .tier-content {
        padding-right: 5px;
        margin: 0 auto; }
    .service-tier--container .service-tiers .mouse-active .tier-title {
      -webkit-transition: 0.2s all ease-in-out;
      transition: 0.2s all ease-in-out;
      color: #e82f3a; }
    @media only screen and (min-width: 720px) {
      .service-tier--container .service-tiers .mouse-active {
        -webkit-transition: 0.2s all ease-in-out;
        transition: 0.2s all ease-in-out;
        border-bottom: 4px solid #e82f3a; } }

.service--learn-more {
  margin-top: 25px;
  margin-bottom: 25px; }
  .service--learn-more .learn-more--container .media-object {
    padding: 5px;
    cursor: pointer;
    -webkit-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out; }
    .service--learn-more .learn-more--container .media-object:hover {
      background-color: #f7f7f7; }
      .service--learn-more .learn-more--container .media-object:hover p {
        color: #e82f3a; }
    .service--learn-more .learn-more--container .media-object p {
      -webkit-transition: 0.3s all ease-in-out;
      transition: 0.3s all ease-in-out;
      color: #0a0a0a;
      text-decoration: none; }
  .service--learn-more .learn-more--container .cell {
    margin-bottom: 30px; }
  .service--learn-more .learn-more--container .learn-more--content p {
    font-weight: 700;
    line-height: 1.2;
    font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
    font-size: 24px; }
  .service--learn-more .learn-more--container .learn-more--content a {
    font-family: "ff-meta-serif-web-pro", serif;
    color: #e82f3a; }

/*****************************************************
*
about.scss
*
******************************************************/
h3 {
  text-align: center; }

@media only screen and (min-width: 720px) {
  .about-header {
    background-image: url(/img/AboutUs-Hero.jpg); } }

.about-gallery .grid-x .gallery-cell {
  min-height: 500px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media only screen and (min-width: 1440px) {
    .about-gallery .grid-x .gallery-cell {
      min-height: 700px; } }

.about-gallery .grid-x .about-text-inner {
  padding-left: 5%;
  padding-right: 5%; }

@media only screen and (min-width: 720px) {
  .about-gallery .grid-x:nth-child(even) .cell .about-text {
    margin-left: auto; }
  .about-gallery .grid-x:nth-child(even) .cell:nth-child(odd) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

.about-gallery .about-image {
  width: 100%; }

.about-gallery .about-text {
  display: table;
  width: 100%;
  height: 100%;
  padding-top: 5%;
  padding-bottom: 5%; }
  @media only screen and (min-width: 720px) {
    .about-gallery .about-text {
      padding-top: 0;
      padding-bottom: 0; } }
  @media only screen and (min-width: 1200px) {
    .about-gallery .about-text {
      width: 75%; } }
  .about-gallery .about-text .about-text-inner {
    display: table-cell;
    vertical-align: middle; }

/******************************************
Timeline Section
*******************************************/
.timeline-section {
  background-color: #f7f7f7;
  /* Timeline effects
	–––––––––––––––––––––––––––––––––––––––––––––––––– */ }
  .timeline-section .timeline ul {
    padding: 50px 0; }
    .timeline-section .timeline ul li {
      display: block; }
      @media only screen and (min-width: 1024px) {
        .timeline-section .timeline ul li {
          list-style-type: none;
          position: relative;
          width: 1px;
          margin: 0 auto;
          padding-top: 50px;
          background: #adadae; } }
      .timeline-section .timeline ul li::after {
        content: '';
        position: absolute;
        left: 50%;
        top: -999px;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-clip: padding-box;
        /* stops bg color from leaking outside the border: */
        background: inherit; }
        @media only screen and (min-width: 720px) {
          .timeline-section .timeline ul li::after {
            top: 25%; } }
      .timeline-section .timeline ul li .timeline-card {
        position: relative;
        bottom: 0;
        width: calc(100vw - 91px);
        padding: 15px; }
        @media only screen and (min-width: 720px) {
          .timeline-section .timeline ul li .timeline-card {
            width: 400px;
            margin: 0 auto; } }
        .timeline-section .timeline ul li .timeline-card::before {
          content: '';
          position: absolute;
          bottom: 7px;
          width: 0;
          height: 0; }
      .timeline-section .timeline ul li:nth-child(odd) div {
        left: 15px; }
        @media only screen and (min-width: 720px) {
          .timeline-section .timeline ul li:nth-child(odd) div {
            left: 25px; } }
      .timeline-section .timeline ul li:nth-child(even) div {
        left: 15px; }
        @media only screen and (min-width: 1024px) {
          .timeline-section .timeline ul li:nth-child(even) div {
            left: -419px;
            text-align: right; } }
  .timeline-section time {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 8px; }
  .timeline-section .timeline ul li::after {
    -webkit-transition: 0.5s background ease-in-out;
    transition: 0.5s background ease-in-out; }
  .timeline-section .timeline ul li.in-view::after {
    background: #e82f3a; }
  .timeline-section .timeline ul li div {
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; }
    @media only screen and (min-width: 720px) {
      .timeline-section .timeline ul li div {
        visibility: hidden;
        opacity: 0; } }
  .timeline-section .timeline ul li:nth-child(odd) div {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
    @media only screen and (min-width: 1024px) {
      .timeline-section .timeline ul li:nth-child(odd) div {
        -webkit-transform: translate3d(100px, 0, 0);
        transform: translate3d(100px, 0, 0); } }
  .timeline-section .timeline ul li:nth-child(even) div {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
    @media only screen and (min-width: 1024px) {
      .timeline-section .timeline ul li:nth-child(even) div {
        -webkit-transform: translate3d(-100px, 0, 0);
        transform: translate3d(-100px, 0, 0); } }
  .timeline-section .timeline ul li.in-view div {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    visibility: visible;
    opacity: 1; }

/* Quote Section aka Testimonials */
.quote-section {
  text-align: center;
  padding-right: 5%;
  padding-left: 5%; }
  @media only screen and (min-width: 720px) {
    .quote-section {
      text-align: left;
      padding-right: 0;
      padding-left: 0; } }
  .quote-section .section-content {
    padding-right: 15px;
    padding-left: 15px; }
    .quote-section .section-content .quote-logo {
      display: none; }
      @media only screen and (min-width: 720px) {
        .quote-section .section-content .quote-logo {
          display: block; } }
    .quote-section .section-content h5 {
      margin-bottom: 0;
      line-height: 1; }
    .quote-section .section-content > p {
      margin-top: 15px;
      margin-bottom: 15px;
      font-style: italic; }
      .quote-section .section-content > p.quote-company {
        color: #e82f3a;
        font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
        font-style: normal;
        margin-top: 0;
        margin-bottom: 0; }

/* Giving Back section */
.red-bg {
  background-color: #e82f3a;
  color: #fefefe;
  padding-right: 5%;
  padding-left: 5%; }
  @media only screen and (min-width: 720px) {
    .red-bg {
      padding-right: 0;
      padding-left: 0; } }
  .red-bg .section-card {
    padding-right: 15px;
    padding-left: 15px; }
    .red-bg .section-card .section-content {
      margin-top: 25px;
      margin-bottom: 25px;
      text-align: center; }
      @media only screen and (min-width: 720px) {
        .red-bg .section-card .section-content {
          text-align: left; } }
      .red-bg .section-card .section-content h3 {
        margin-bottom: 20px; }
  .red-bg .image-container img {
    width: 100%; }
    @media only screen and (min-width: 720px) {
      .red-bg .image-container img {
        max-width: 100%; } }
  .red-bg .button-container {
    margin-top: 25px; }
    .red-bg .button-container a.button {
      color: #231f20;
      background: #f7f7f7;
      -webkit-box-shadow: none;
              box-shadow: none; }

.post.filtered {
  opacity: 0;
  width: 0;
  height: 0;
  padding: 0;
  -webkit-transition: opacity .1s,width .1s .1s,height .1s .1s,padding .1s .1s;
  transition: opacity .1s,width .1s .1s,height .1s .1s,padding .1s .1s; }

.blog-tag {
  font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  background: #e82f3a;
  color: #fefefe;
  padding: 5px 20px;
  text-align: center;
  position: absolute;
  display: inline-block;
  min-width: 70px;
  -webkit-box-shadow: 0 2px 0 #7b0109;
  box-shadow: 0 2px 0 #7b0109; }

.article-card {
  position: relative; }
  .article-card .image-container img {
    width: 100%; }
  .article-card .blog-tag {
    top: 5%;
    left: 0; }
    @media only screen and (min-width: 720px) {
      .article-card .blog-tag {
        left: unset;
        right: 0; } }
  .article-card .card-section {
    padding: 1rem 0; }
    .article-card .card-section p.article-subtitle {
      color: #858585;
      font-size: 13px; }
    .article-card .card-section p.article-title {
      font-weight: 700;
      font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif; }
    .article-card .card-section .article-excerpt p {
      color: #858585; }

.resources-container {
  margin-top: 20px; }

.resource-article {
  position: relative; }
  .resource-article .article-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .resource-article .article-grid {
    max-width: 800px;
    margin: 15px auto 15px; }
    .resource-article .article-grid p {
      margin-bottom: 1rem; }
    .resource-article .article-grid a {
      color: #e82f3a; }
      .resource-article .article-grid a:hover {
        text-decoration: underline; }
    .resource-article .article-grid span.article-category {
      display: none; }
      @media only screen and (min-width: 720px) {
        .resource-article .article-grid span.article-category {
          display: inline-block; } }
    .resource-article .article-grid span.category-separator {
      display: none; }
      @media only screen and (min-width: 720px) {
        .resource-article .article-grid span.category-separator {
          display: inline-block; } }
    .resource-article .article-grid .blog-tag {
      margin-right: 15px;
      position: relative;
      top: 0;
      left: 0;
      margin-bottom: 25px; }
    .resource-article .article-grid h3 {
      text-align: left; }
  .resource-article .image-container {
    text-align: center; }
  .resource-article .subscribe-container {
    background: #f7f7f7;
    padding: 15px;
    margin-top: 25px;
    margin-bottom: 25px;
    border: 1px solid #cacaca;
    border-radius: 3px;
    background-clip: padding-box;
    /* stops bg color from leaking outside the border: */ }
  .resource-article .download-button {
    min-width: 150px; }
  .resource-article #download {
    display: none; }

.search-result {
  color: #e82f3a;
  font-style: italic;
  text-transform: capitalize; }

.hidden-email-field {
  position: absolute;
  left: -9999px; }

.address-content {
  text-align: center;
  margin-bottom: 200px;
  padding-right: 10px;
  padding-left: 10px; }
  @media only screen and (min-width: 720px) {
    .address-content {
      margin-bottom: 0; } }
  .address-content p.location {
    font-family: "canada-type-gibson", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700; }

#thanks {
  display: none;
  border: 1px solid #3adb76;
  padding: 10px 5px;
  border-radius: 4px;
  background-clip: padding-box;
  /* stops bg color from leaking outside the border: */
  color: #3adb76;
  text-align: center; }

.contact--container {
  margin-top: 10%;
  margin-bottom: 10%; }

#contactForm .contact-input {
  margin-bottom: 1rem; }
  #contactForm .contact-input select {
    margin-bottom: 0; }
  #contactForm .contact-input input {
    margin-bottom: 0;
    -webkit-transition: 0.3s all linear;
    transition: 0.3s all linear; }
    #contactForm .contact-input input:focus {
      border-color: #e82f3a; }
  #contactForm .contact-input textarea {
    margin-bottom: 0;
    -webkit-transition: 0.3s all linear;
    transition: 0.3s all linear; }
    #contactForm .contact-input textarea:focus {
      border-color: #e82f3a; }

#eesForm {
  display: none; }

#contactForm input.error, #contactForm textarea.error, #contactForm select.error {
  border-color: #e82f3a; }

#contactForm .error {
  margin-top: 5px;
  color: #e82f3a; }

.journey-header {
  padding-top: 5%;
  padding-bottom: 5%; }
  .journey-header .page-header--inner h2 {
    width: 100%; }
    @media only screen and (min-width: 720px) {
      .journey-header .page-header--inner h2 {
        width: 60%; } }

.journey-section {
  margin-top: 5%; }
  .journey-section .journey-row {
    min-height: 400px;
    padding: 10%; }
    .journey-section .journey-row .svg-container {
      opacity: 0;
      -webkit-transition: all 1s ease-out;
      transition: all 1s ease-out; }
    .journey-section .journey-row .slide-left {
      -webkit-transform: translateX(50px);
          -ms-transform: translateX(50px);
              transform: translateX(50px); }
    .journey-section .journey-row .slide-right {
      -webkit-transform: translateX(-50px);
          -ms-transform: translateX(-50px);
              transform: translateX(-50px); }
    .journey-section .journey-row .slide-up {
      -webkit-transform: translateY(50px);
          -ms-transform: translateY(50px);
              transform: translateY(50px); }
    .journey-section .journey-row .slide-down {
      -webkit-transform: translateY(-50px);
          -ms-transform: translateY(-50px);
              transform: translateY(-50px); }
    .journey-section .journey-row:nth-child(even) .journey-text {
      margin-left: auto;
      text-align: right; }
    .journey-section .journey-row .journey-text {
      width: 90%; }
  .journey-section .slide-in .slide {
    opacity: 1;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }
  .journey-section .slide-in .fade {
    opacity: 1; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

body {
  -webkit-text-size-adjust: none; }

body.KJEReportBody {
  background-image: none; }

#KJEAllContent {
  font: normal 100% Arial, sans-serif;
  background: #FFFFFF;
  color: #000000;
  padding: 40px 0 0 0; }

button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner {
  padding: 0 !important;
  border: 0 none !important; }

#KJEReportText {
  display: none; }

#KJEAllContent p {
  margin: .9em 0; }

p.KJEScheduleNote {
  display: none; }

div.KJEDropper:focus, div.KJEGraphDropper:focus {
  outline: 2px solid #597BB2;
  outline-offset: -2px; }

.KJEFontTitle {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 22px; }

.KJEFontHeading {
  color: #000000; }

.KJEError {
  color: #FF0000; }

.KJEMissing {
  color: #FF0000; }

.KJETitle {
  font-size: 1.3em;
  text-align: center;
  background-image: url("data:image/png;base64,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");
  background-repeat: no-repeat;
  background-position: -8px -8px;
  background-size: 85px 85px; }

.KJECalculatorTable {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #FFFFFF;
  right: 0;
  left: 0;
  padding: 4px 0 4px 0;
  border: 1px solid #666666;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 5px 5px 10px #DDDDDD;
  -webkit-box-shadow: 5px 5px 10px #DDDDDD;
  -moz-box-shadow: 5px 5px 10px #DDDDDD;
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: -webkit-gradient(linear, left top, right top, from(white), to(#e9e9e9));
  background: linear-gradient(to right, white 0%, #e9e9e9 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e9e9e9',GradientType=1 );
  /* IE6-9 */ }

.KJECalculatorReportTable {
  padding: 0 0;
  border: 0; }

.KJECalculator {
  font-size: 0.9em;
  right: 0;
  left: 0;
  height: 100%;
  position: relative; }

.KJECalculator p {
  font: normal 0.9em Arial, sans-serif;
  color: #000000; }

.KJECalculator .KJEMain {
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  left: 0; }

.KJEInputs {
  padding: 0;
  display: none; }

.KJENoJavaScript {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  background: #FFFFFF;
  padding: 20px 20px 20px 20px;
  border: 2px solid #666666;
  text-align: center;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px; }

div.KJEButtonIsScrolling {
  background: none;
  border: none; }

div.KJEButtonIsFixed {
  background: #ffffff;
  border: 1px solid #000000;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 2px #666666;
  -webkit-box-shadow: 2px 2px 2px #666666;
  -moz-box-shadow: 2px 2px 2px #666666;
  margin: 0; }

#KJEScrollSticky {
  line-height: .9em;
  padding-bottom: 10px; }

#KJEScrollSticky, #KJEFixed, #KJECommandButtons, #KJEReportButtons {
  z-index: 0;
  width: 400px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto; }

.KJECommandButton {
  -webkit-appearance: none;
  color: #ffffff;
  background: #333333;
  padding: 4px 2px;
  margin: 4px 2px 7px 2px;
  border-radius: 14px;
  white-space: nowrap;
  width: 180px;
  border: 3px solid #bbbbbb;
  font-size: 1.2em;
  font-weight: bold; }

.KJECommandButton:active {
  position: relative;
  top: 2px; }

.KJEMain table {
  border-collapse: collapse;
  right: 0;
  left: 0;
  table-layout: fixed;
  margin: 0; }

.KJEMain th, .KJEMain td {
  padding: 0;
  overflow: hidden; }

.KJEMenu {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAHFJREFUSEvtk0EKgDAMBPOZUvAHfbBH8WW+YZscFGILQq3xsoe5LEsmh0QASFkPRGLOcOnJJbYtIqBYs35xNo/ilHekvLxiU+5zKW4Kv4m/gmLNfIFXPQLfyaBYM1/gVY/AdzIo1qxfnE0jjsZtEQUAqdkDGASodTO6AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: center;
  z-index: 999;
  display: none;
  border: 0;
  width: 32px;
  height: 32px;
  margin: 10px;
  border-radius: 2px; }

#KJEMenuContainer {
  width: 100%;
  height: 1px;
  overflow: visible;
  text-align: right; }

#KJEWait {
  position: relative;
  top: 18px;
  text-align: left;
  background-image: url("data:image/gif;base64,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");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 999;
  display: none;
  border: none;
  width: 128px;
  height: 128px;
  /* css3 */
  border-radius: 0; }

#KJEWaitContainer {
  height: 1px;
  border: none;
  overflow: visible;
  text-align: center;
  z-index: 999; }

.KJEInset {
  margin-left: 20px;
  margin-right: 20px; }

#KJEReport {
  display: none;
  text-align: left;
  vertical-align: middle;
  padding: 30px 5px 5px 5px; }

#KJEReport, #KJEReport p {
  font-size: 1.0em;
  line-height: normal; }

.KJEDefinitionsHeader {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 22px; }

.KJEDefinitionPopup p {
  font-size: 1.0em;
  line-height: normal; }

.KJEDefinitionPopup, .KJEDefinitionPopup dl, .KJEDefinitionPopup dd, .KJEDefinitionPopup dt, .KJEDefinitionPopup th, .KJEDefinitionPopup td, .KJEDefinitionPopup ul, .KJEDefinitionPopup li, .KJEDefinitionPopup ol {
  font-size: 1.0em;
  line-height: normal; }

button.KJEDefinitionIcon:active,
button.KJEDefinitionIcon:focus,
button.KJEDefinitionIcon:hover,
button.KJECloseButton:active,
button.KJECloseButton:focus,
button.KJECloseButton:hover {
  color: #000055;
  background: #fff;
  border: 1px solid #597BB2;
  border-radius: 3px;
  outline: #88B0F1 solid 2px;
  outline-offset: -1px; }

button.KJEDefinitionIcon {
  color: #fff;
  background: #0000D4;
  width: 20px;
  height: 20px;
  text-align: center;
  padding: 0 0;
  font-size: 1em;
  border-radius: 20px;
  border-width: 0;
  cursor: help;
  margin-left: 2px;
  margin-bottom: 4px;
  float: left; }

button.KJECloseButton {
  color: #fff;
  background: #0000D4;
  width: 20px;
  height: 20px;
  text-align: center;
  padding: 0;
  font-size: 1em;
  border-radius: 2px;
  border-width: 1px;
  cursor: hand; }

#KJEDefinitionsDL {
  padding-left: 10px;
  margin-top: 1em; }

#KJEDefinitionsDL dt.KJEDefinition {
  text-align: left;
  font-weight: bold;
  font-size: 1.0em;
  padding: 0;
  margin: 0;
  line-height: normal; }

#KJEDefinitionsDL dd.KJEDefinition {
  margin: 0;
  text-align: left;
  font-weight: normal;
  padding: 0px 10px 20px 10px; }

#KJEDefinitionsDL p.KJEDefinition {
  font-size: 1.0em;
  line-height: normal;
  margin: .7em 0 0 0; }

#KJEDefinitionsDL td, #KJEDefinitionsDL th, #KJEDefinitionsDL ul, #KJEDefinitionsDL li, #KJEDefinitionsDL ol {
  font-size: 1.0em;
  line-height: normal; }

#KJEReport td, #KJEReport th, #KJEReport ul, #KJEReport li, #KJEReport ol {
  font-size: 1.0em;
  line-height: normal; }

.KJECloseButton {
  color: #5D60C6;
  float: right;
  cursor: pointer; }

.KJECloseButton:hover {
  color: #0000d4; }

.KJEMain input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

.KJEInputContainer {
  text-align: left;
  overflow: visible;
  position: relative;
  height: 35px;
  width: 100%;
  -webkit-transition: background-color 500ms ease;
  transition: background-color 500ms ease; }

.KJEInputContainer:hover {
  background-color: #FFFFFF; }

.KJEInputContainer .KJEInputFieldContainer {
  display: inline-block;
  margin-top: 5px;
  margin-bottom: 5px; }

.KJEInputContainer .KJESlider {
  top: 0;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.KJEInputContainer .KJEIncrementer {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  padding-left: 5px; }

.KJEInputContainer .KJEScale {
  font-size: .87em;
  border-color: #666666;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.KJEInputContainer .KJELabel {
  text-align: right;
  cursor: default;
  overflow: visible; }

.KJEInputContainer .KJEOutputLabel {
  overflow: visible; }

.KJEInputContainer .KJELabelBold {
  font-weight: bold;
  text-align: right;
  overflow: visible; }

.KJEInputContainer .KJEHelp {
  text-align: right;
  cursor: help;
  overflow: visible; }

.KJEInputContainer .KJEHelp:hover {
  color: #000055; }

.KJEInputContainer .bold {
  font-weight: bold; }

.KJEInputContainer .KJETrailingLabel {
  overflow: visible;
  padding: 0 0 0 5px; }

.KJEInputContainer .KJETrailingLabelDisable {
  overflow: visible;
  color: #565656; }

.KJEInputContainer input:disabled, .KJEInputContainer textarea:disabled {
  color: #565656;
  background: #ededed; }

.KJEInputContainer .KJEDropBox {
  font-weight: normal;
  font-size: 0.9em; }

.KJEInputContainer select.KJEDropBoxModern {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 1px;
  -webkit-appearance: none; }

div.KJEDropBoxDivModern {
  border: 1px solid #555;
  overflow: hidden;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAAsUlEQVQ4T9WRyxGDMAwF1RIFUY6boZf0og6UiEHiWZbBEHLIzryDZHv9o/9ARB6JowUzf5VGiDkjzrc42W534myF0FTkxfwp90HcCGFeZNY16/IgVGwwkyLaRxnNSz0RF2ZSHO/JbN46197M6Ek1vZPt4/WzOFGqvcNrIngCpJYOyhT7wShUyrRJRmWKCU+lI7JRSmk/oJe0aUGwj7eKSZsWk6LsKI4WmfBKGuET+QFEbxoHa1iX1waWAAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: right;
  background-color: #fff;
  padding: 0;
  margin: 0;
  top: 15px;
  border-radius: 4px;
  box-shadow: 2px 2px 2px #333333;
  -webkit-box-shadow: 2px 2px 2px #333333;
  -moz-box-shadow: 2px 2px 2px #333333; }

.KJEInputContainer .KJEInput {
  font-weight: normal;
  font-size: 0.9em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.KJEInputContainer input.KJEInputModern {
  top: 15px;
  border: 1px solid #555;
  padding: 2px;
  border-radius: 4px;
  box-shadow: 2px 2px 2px #333333;
  -webkit-box-shadow: 2px 2px 2px #333333;
  -moz-box-shadow: 2px 2px 2px #333333; }

.KJEInputContainer input.KJEInputModern[type=radio], .KJEInputContainer input.KJEInputModern[type=checkbox] {
  transform: scale(1.5);
  -webkit-transform: scale(1.5);
  -moz-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -o-transform: scale(1.5);
  padding-bottom: 5px;
  margin-left: 8px;
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  border: none; }

.KJEInputContainer .KJEArrowIE8 {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 12px solid #0000d4; }

.KJEInputContainer .KJEArrow {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 12px solid rgba(0, 0, 212, 0.6);
  box-shadow: 0 2px 0 rgba(0, 0, 212, 0.3);
  -webkit-box-shadow: 0 2px rgba(0, 0, 212, 0.3);
  -moz-box-shadow: 0 2px rgba(0, 0, 212, 0.3); }

.KJEInputContainer .KJEArrow.active {
  border-bottom: 12px solid rgba(0, 0, 212, 0.5);
  cursor: pointer; }

.KJEInputContainer div.KJELine {
  border-width: 0 0 2px 0;
  border-style: dotted;
  border-color: #666666;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.KJEInputContainer .KJELine.active {
  border-style: solid;
  border-color: #666666; }

hr.KJEDivide {
  border: 0;
  width: 100%;
  height: 1px;
  color: #969696; }

hr.KJEFooterLine {
  border-top: 1px solid #000;
  width: 100%;
  height: 1px; }

.KJECenterText {
  text-align: center; }

.KJEBold {
  font-weight: bold; }

.KJEBoldCenter {
  font-weight: bold;
  text-align: center;
  cursor: default;
  overflow: visible; }

.KJESubTitle {
  font-size: 0.9em;
  font-weight: normal;
  line-height: normal; }

#KJEReport p.KJEFooter, p.KJEFooter, .KJEFooter {
  font-size: 0.9em;
  font-weight: normal; }

#KJEGuiDataPoint {
  color: #000000;
  background: #ffffff;
  border: 1px solid #5D60C6;
  position: absolute;
  display: none;
  z-index: 99;
  padding: 9px;
  margin: 1em 0 3em;
  max-width: 520px;
  border-radius: 8px;
  box-shadow: 3px 3px 3px #333333;
  -webkit-box-shadow: 3px 3px 3px #333333;
  -moz-box-shadow: 3px 3px 3px #333333; }

#KJEGuiDataPoint dt {
  font-weight: bold; }

#KJEGuiDataPoint dd {
  padding-bottom: 5px;
  padding-top: 5px;
  margin-left: 20px; }

#KJEGuiDataPoint:before {
  content: "";
  position: absolute;
  top: -10px;
  /* value = - border-top-width - border-bottom-width */
  right: auto;
  bottom: auto;
  /* value = - border-top-width - border-bottom-width */
  left: 39px;
  /* controls horizontal position */
  border-width: 0 10px 10px;
  border-style: solid;
  border-color: #5D60C6 transparent;
  /* reduce the damage in FF3.0 */
  display: block;
  width: 0; }

/* creates the smaller  triangle */
#KJEGuiDataPoint:after {
  content: "";
  position: absolute;
  top: -8px;
  /* value = - border-top-width - border-bottom-width */
  bottom: auto;
  /* value = - border-top-width - border-bottom-width */
  left: 38px;
  right: auto;
  /* value = (:before left) + (:before border-left) - (:after border-left) */
  border-width: 0 11px 11px;
  border-style: solid;
  border-color: #fff transparent;
  /* reduce the damage in FF3.0 */
  display: block;
  width: 0; }

div.KJEGuiDefnPopup {
  color: #000000;
  background: #ffffff;
  border: 1px solid #5D60C6;
  position: absolute;
  display: none;
  z-index: 99;
  padding: 9px;
  margin: 1em 0 3em;
  border-radius: 8px;
  box-shadow: 3px 3px 3px #333333;
  -webkit-box-shadow: 3px 3px 3px #333333;
  -moz-box-shadow: 3px 3px 3px #333333;
  -webkit-animation: fadeIn .4s;
  animation: fadeIn .4s; }

div.KJEGuiDefnPopup dt {
  font-weight: bold; }

div.KJEGuiDefnPopup dd {
  padding: 0;
  margin: 0; }

div.KJEGuiDefnPopup:before {
  content: "";
  position: absolute;
  top: -10px;
  /* value = - border-top-width - border-bottom-width */
  right: auto;
  bottom: auto;
  /* value = - border-top-width - border-bottom-width */
  left: 39px;
  /* controls horizontal position */
  border-width: 0 10px 10px;
  border-style: solid;
  border-color: #5D60C6 transparent;
  /* reduce the damage in FF3.0 */
  display: block;
  width: 0; }

div.KJEGuiDefnPopup:after {
  content: "";
  position: absolute;
  top: -8px;
  /* value = - border-top-width - border-bottom-width */
  bottom: auto;
  /* value = - border-top-width - border-bottom-width */
  left: 38px;
  right: auto;
  /* value = (:before left) + (:before border-left) - (:after border-left) */
  border-width: 0 11px 11px;
  border-style: solid;
  border-color: #fff transparent;
  /* reduce the damage in FF3.0 */
  display: block;
  width: 0; }

div.KJEToggleClose {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAACzSURBVDhP1ZLRDYMwDAW9EgMxTpZhl+7iDUyd9hnHOE1Q6UdPehJJnMMW0E8QkVti6IKZv4oJs0MERehglGGxx+9nL0emKGUzuxdnaex1I1AW0k2h9ZB+ZEqGzEibdh0rJEuRB29i69lOPa2Mq4BnpXHcKPMT9KTH+fMr6wPoycDr0lmKOl+byjJ0fzj++3Iqw19Qx3F4qdb7O80lDQquxugedIj1iKGL2OXVnIR35B8g2gHTPGtYkYEIggAAAABJRU5ErkJggg==");
  height: 20px;
  width: 20px;
  margin-left: auto;
  margin-right: 0; }

div.KJEToggleOpen {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAACxSURBVDhP1ZHLEYMwDAXVEgVRjpuhl/SiDpSIQeJZlsEQcsjOvINke/2j/0BEHomjBTN/lUaIOSPOtzjZbnfibIXQVOTF/Cn3QdwIYV5k1jXr8iBUbDCTItpHGc1LPREXZlIc78ls3jrX3szoSTW9k+3j9bM4Uaq9w2sieAKklg7KFPvBKFTKtElGZYoJT6UjslFKaT+gl7RpQbCPt4pJmxaTouwojhaZ8Eoa4RP5AURvGgdrWJfXBpYAAAAASUVORK5CYII=");
  height: 20px;
  width: 20px;
  margin-left: auto;
  margin-right: 0; }

table.KJEToggleTable {
  width: 100%;
  border-style: none; }

table.KJEToggleTable td {
  border: 0; }

.KJEToggleTitle {
  font-size: 1.1em;
  font-weight: bold;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  border-style: none; }

td.KJEToggleTitle99Cell {
  width: 99%;
  vertical-align: top; }

td.KJEToggleTitle49Cell {
  width: 49%;
  vertical-align: top; }

td.KJEToggleTitle49Cell {
  width: 100%;
  vertical-align: top; }

.KJEToggleIcon {
  padding-top: 0;
  vertical-align: top;
  color: #111111;
  outline: none;
  cursor: pointer;
  white-space: nowrap;
  width: 35px;
  border-style: none; }

.KJEToggleSubTitle {
  font-size: 0.9em;
  font-weight: bold;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  padding-left: 30px;
  width: 100%; }

.KJEGraphIcon {
  background-repeat: no-repeat;
  background-position: top left;
  background-image: none; }

.KJEInputIcon {
  background-repeat: no-repeat;
  background-position: top left;
  background-image: none; }

.KJEInputDiv {
  padding-top: 5px;
  display: block;
  overflow: visible;
  width: auto;
  border-color: #666666;
  height: auto; }

.KJEDropper {
  border-top: 1px solid;
  padding: 5px;
  border-color: #666666;
  height: auto; }

.KJEGraphDropper, div.KJEGraphDropper td.KJEGraphTitle, .KJEDropper {
  -webkit-transition: background-color 500ms ease;
  transition: background-color 500ms ease; }

.KJEDropper:active {
  background-color: #FFFFFF; }

.KJEDropper:hover {
  background-color: #FFFFFF; }

.KJEGraphContainer {
  overflow: hidden; }

.KJEGraph {
  -webkit-tap-highlight-color: transparent;
  overflow: hidden; }

.KJEGraphTitle {
  font-size: 1.1em;
  font-weight: bold;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  border-style: none; }

.KJEGraphDropper {
  border-top: 1px solid;
  border-color: #666666;
  height: auto;
  padding: 5px; }

.KJEGraphDropper:active {
  background-color: #FFFFFF; }

.KJEGraphDropper:hover {
  background-color: #FFFFFF; }

.KJEDropperReport {
  border: 0;
  padding: 5px;
  -webkit-transition: background-color 500ms ease;
  transition: background-color 500ms ease;
  height: auto; }

.KJEDropperReport:active {
  background-color: #FFFFFF; }

.KJEDropperReport:hover {
  background-color: #FFFFFF;
  -webkit-transition: background-color 500ms ease;
  transition: background-color 500ms ease; }

div.KJEDroppee {
  height: auto;
  padding: 10px 0 0 0; }

.KJEReportTableDiv {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 20px 0;
  border: 1px black solid;
  border-radius: 6px;
  padding: 2px;
  width: 100%;
  box-shadow: 5px 5px 10px #DDDDDD;
  -webkit-box-shadow: 5px 5px 10px #DDDDDD;
  -moz-box-shadow: 5px 5px 10px #DDDDDD; }

.KJEInput .KJEReportTableDiv {
  width: 95%; }

.KJEDefinitions .KJEReportTableDiv {
  width: 95%; }

.KJEDefinitionPopup .KJEReportTableDiv {
  width: 95%; }

.KJECenter {
  text-align: center; }

.KJEReportHeader {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 22px; }

.KJEReportTitleBlock {
  text-align: center;
  padding: 10px;
  margin: 10px;
  border: 1px solid black; }

.KJEReportTitle {
  font-size: 1.3em;
  font-weight: bold;
  margin: 0;
  padding: 0; }

div.KJEReportExtraClientBlock {
  width: 100%;
  text-align: center; }

table.KJEReportTable, table.KJECalcTable {
  font-size: 0.9em;
  background-color: #cccccc;
  border-spacing: 0;
  border: 1px;
  border-collapse: collapse;
  width: 100%;
  margin: 0;
  padding: 0; }

table.KJECalcTable {
  background-color: inherit; }

table.KJEReportTable tr.KJEHeaderRow, table.KJECalcTable tr.KJEHeaderRow {
  background-color: #cccccc;
  text-align: center;
  border: none; }

table.KJEReportTable tr.KJEFooterRow, table.KJECalcTable tr.KJEFooterRow {
  background-color: #cccccc;
  text-align: right;
  border: none; }

caption.KJEHeaderRow, caption.KJEHeaderRow {
  background-color: #cccccc; }

table.KJECalcTable tr.KJEHeaderRow,
table.KJECalcTable tr.KJEFooterRow {
  background-color: inherit; }

table.KJEReportTable tr.KJEHeaderRow:hover, table.KJECalcTable tr.KJEHeaderRow:hover,
table.KJEReportTable tr.KJEFooterRow:hover, table.KJECalcTable tr.KJEFooterRow:hover {
  background-color: #246c9d;
  color: #ffffff; }

table.KJEReportTable tr.KJEEvenRow {
  background-color: #eeeeee;
  text-align: right; }

table.KJECalcTable tr.KJEEvenRow {
  text-align: right; }

table.KJEReportTable tr.KJEEvenRow:hover, table.KJECalcTable tr.KJEEvenRow:hover {
  background-color: #246c9d;
  color: #ffffff; }

table.KJEReportTable tr.KJEOddRow {
  background-color: #ffffff;
  text-align: right; }

table.KJECalcTable tr.KJEOddRow {
  text-align: right; }

table.KJEReportTable tr.KJEOddRow:hover, table.KJECalcTable tr.KJEOddRow:hover {
  background-color: #246c9d;
  color: #ffffff; }

h2.KJESubHeading {
  font-size: 1.05em;
  padding: 0;
  margin: 0; }

table.KJEReportTable .KJEHeading, table.KJECalcTable .KJEHeading {
  font-size: 1.05em;
  font-weight: bold;
  line-height: 22px;
  padding: 10px 8px; }

table.KJEReportTable .KJEHeadingUnderline, table.KJECalcTable .KJEHeadingUnderline {
  text-decoration: underline; }

table.KJEReportTable .KJEHeadingRight, table.KJECalcTable .KJEHeadingRight {
  text-align: right; }

table.KJEReportTable td.KJECell, table.KJEReportTable th.KJECell, table.KJECalcTable td.KJECell {
  padding: 10px 8px;
  vertical-align: text-top;
  border: none; }

table.KJEReportTable td.KJELabel, table.KJEReportTable th.KJELabel, table.KJECalcTable td.KJELabel, table.KJECalcTable th.KJELabel,
table.KJECalcTable th.KJEHeading, table.KJEReportTable th.KJEHeading {
  padding: 10px 8px;
  font-weight: bold;
  vertical-align: text-top;
  border: none; }

table.KJEIndexTable th.KJELabel {
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0; }

table.KJEReportTable th.KJELabel, table.KJECalcTable th.KJELabel {
  text-align: right; }

table.KJEReportTable td.KJELabelPad, th.KJELabelPad, table.KJECalcTable td.KJELabelPad {
  padding-right: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  border: none; }

table.KJEReportTable td.KJECellStrong, table.KJEReportTable th.KJECellStrong, table.KJECalcTable td.KJECellStrong, table.KJECalcTable th.KJECellStrong {
  padding: 10px 8px;
  font-weight: bold;
  vertical-align: text-top;
  border: none;
  font-weight: bold; }

table.KJEReportTable th.KJEHeading:hover, table.KJECalcTable th.KJEHeading:hover,
table.KJEReportTable td.KJECell:hover, table.KJECalcTable td.KJECell:hover {
  color: #ffffff;
  background-color: #000055; }

table.KJEReportTable .KJELabel:hover, table.KJECalcTable .KJELabel:hover {
  color: #ffffff;
  background-color: #000055; }

table.KJEReportTable td.KJECellStrong:hover, table.KJECalcTable td.KJECellStrong:hover {
  color: #ffffff;
  background-color: #000055; }

table.KJEReportTable td.KJECellSpecial:hover, table.KJECalcTable td.KJECellSpecial:hover {
  color: #ffffff;
  background-color: #000055; }

table.KJEReportTable a:hover {
  color: #ffffff; }

table.KJEReportTable td.KJECellSpecial, table.KJEReportTable th.KJECellSpecial, table.KJECalcTable td.KJECellSpecial, table.KJECalcTable th.KJECellSpecial {
  color: red;
  padding-right: 10px;
  padding-top: 2px;
  padding-bottom: 2px; }

table.KJEReportTable td.KJECellBorder, table.KJEReportTable th.KJECellBorder, table.KJECalcTable th.KJECellBorder, table.KJECalcTable td.KJECellBorder {
  border-width: 0 1px 0 0;
  border-style: solid;
  border-spacing: 1px;
  border-color: #000000; }

.KJELeft, table.KJEReportTable th.KJELeftPad, table.KJECalcTable th.KJELeftPad {
  text-align: left; }

.KJELeftPad, table.KJEReportTable th.KJELeftPad, table.KJECalcTable th.KJELeftPad {
  text-align: left;
  padding-left: 10px; }

.KJECenter, table.KJEReportTable th.KJECenter, table.KJECalcTable th.KJECenter {
  text-align: center; }

.KJERight {
  text-align: right; }

.KJERightBold, table.KJEReportTable th.KJERightBold, table.KJECalcTable th.KJERightBold {
  text-align: right;
  font-weight: bold; }

.KJECenterBold, table.KJEReportTable th.KJECenterBold, table.KJECalcTable th.KJECenterBold {
  text-align: center;
  font-weight: bold; }

.KJELeftBold, table.KJEReportTable th.KJELeftBold, table.KJECalcTable th.KJELeftBold {
  text-align: left;
  font-weight: bold; }

table.KJEReportTable td.KJECell10, th.KJECell10, table.KJECalcTable td.KJECell10 {
  width: 10%; }

table.KJEReportTable td.KJECell15, th.KJECell15, table.KJECalcTable td.KJECell15 {
  width: 15%; }

table.KJEReportTable td.KJECell225, th.KJECell225, table.KJECalcTable td.KJECell225 {
  width: 22.5%; }

table.KJEReportTable td.KJECell20, th.KJECell20, table.KJECalcTable td.KJECell20 {
  width: 20%; }

table.KJEReportTable td.KJECell25, th.KJECell25, table.KJECalcTable td.KJECell25 {
  width: 25%; }

table.KJEReportTable td.KJECell30, th.KJECell30, table.KJECalcTable td.KJECell30 {
  width: 30%; }

table.KJEReportTable td.KJECell35, th.KJECell35, table.KJECalcTable td.KJECell35 {
  width: 35%; }

table.KJEReportTable td.KJECell40, th.KJECell40, table.KJECalcTable td.KJECell40 {
  width: 40%; }

table.KJEReportTable td.KJECell50, th.KJECell50, table.KJECalcTable td.KJECell50 {
  width: 50%; }

table.KJEReportTable td.KJECell60, th.KJECell60, table.KJECalcTable td.KJECell60 {
  width: 60%; }

table.KJEReportTable td.KJECell70, th.KJECell70, table.KJECalcTable td.KJECell70 {
  width: 70%; }

table.KJEReportTable td.KJECellNB, th.KJECellNB, table.KJECalcTable td.KJECellNB {
  border-width: 0; }

div.KJEReportTableSidebySide {
  width: 100%;
  clear: both;
  display: block; }

div.KJEReportTableSidebySide::after {
  content: "";
  clear: both;
  display: table; }

div.KJEReportTableDivLeft, div.KJEReportTableDivRight {
  display: inline-block;
  float: right;
  width: 49%;
  /* three containers (use 25% for four, and 50% for two, etc) */
  display: table-cell; }

div.KJEReportTableDivLeft {
  float: left; }

div.KJEReportTableDivLeft::after, div.KJEReportTableDivRight::after {
  content: "";
  clear: both;
  display: table-cell; }

th.KJEColumnHeader {
  text-align: center; }

/*
Rows and Cells used in the schedule table
*/
.KJEScheduleHeader {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 22px;
  page-break-after: avoid; }

table.KJEScheduleTable {
  font-size: 0.9em;
  background-color: #cccccc;
  border-spacing: 0;
  border-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
  border-collapse: collapse; }

table.KJEScheduleTable tr.KJEScheduleHeaderRow {
  background-color: #cccccc;
  border-color: #cccccc;
  text-align: right;
  border: none; }

table.KJEScheduleTable th {
  background-color: inherit; }

table.KJEScheduleTable tbody.KJEScheduleTBody th {
  background-color: inherit; }

table.KJEScheduleTable tr.KJEScheduleEvenRow {
  background-color: #eeeeee;
  text-align: right;
  border: none; }

table.KJEScheduleTable tr.KJEScheduleOddRow {
  background-color: #ffffff;
  text-align: right; }

table.KJEScheduleTable tr.KJEScheduleOddRow:hover,
table.KJEScheduleTable tr.KJEScheduleEvenRow:hover,
table.KJEScheduleTable tr.KJEScheduleHeaderRow:hover,
table.KJEScheduleTable tr.KJEScheduleFooterRow:hover {
  background-color: #246c9d;
  color: #ffffff; }

table.KJEScheduleTable th.KJEScheduleHeading {
  padding: 10px 8px;
  border: none; }

.KJEMinHeight2 {
  height: 30px;
  padding: 10px; }

table.KJEScheduleTable td.KJEScheduleCell,
table.KJEScheduleTable th.KJEScheduleCell,
table.KJEScheduleTable td.KJEScheduleCellSpecial,
table.KJEScheduleTable td.KJEScheduleCellStrong {
  padding: 10px 8px;
  vertical-align: text-top;
  border: none; }

table.KJEScheduleTable td.KJEScheduleCell:hover,
table.KJEScheduleTable thead.KJEScheduleTHeader th.KJEScheduleHeading:hover,
table.KJEScheduleTable td.KJEScheduleCellSpecial:hover,
table.KJEScheduleTable td.KJEScheduleCellStrong:hover {
  color: #ffffff;
  background-color: #000055; }

table.KJEScheduleTable td.KJEScheduleCellStrong {
  font-weight: bold; }

table.KJEScheduleTable td.KJEScheduleCellSpecial {
  color: red; }

table.KJEScheduleTable td.KJECellBorder, table.KJEScheduleTable th.KJECellBorder {
  border: 0 #000000 solid;
  border-width: 0 1px 0 0; }

thead.KJEScheduleTHeader {
  display: table-header-group; }

#KJESplash {
  right: 0;
  left: 0;
  margin-top: 85px;
  padding-top: 42px;
  position: absolute;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url(data:image/x-png;base64,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); }

.KJEWidthContraint {
  max-width: 900px;
  text-align: left;
  margin: auto;
  background: #ffffff;
  padding: 15px; }

.KJEWrapper {
  background: #cccccc;
  padding: 0;
  margin: 0; }

.KJEBreakHeader {
  display: none; }

div.KJELogo {
  text-align: center;
  width: 100%; }

@media screen and (max-width: 640px) {
  .KJECommandButton {
    width: 130px;
    font-size: 1.0em;
    border-radius: 10px; }
  #KJEScrollSticky, #KJEFixed, #KJECommandButtons, #KJEReportButtons {
    width: 285px; }
  div.KJETitle {
    background-image: none; }
  .KJEWidthConstraint {
    padding: 3px !important; }
  .KJELogo {
    max-width: 100%; }
  .KJEReport {
    padding: 0; }
  div.KJEReportTableDiv {
    border-radius: 4px;
    padding: 4px;
    box-shadow: 0 0 0 #DDDDDD;
    -webkit-box-shadow: 0 0 0 #DDDDDD;
    -moz-box-shadow: 0 0 0 #DDDDDD;
    width: 100%; }
  table.KJEReportTable, table.KJECalcTable {
    font-size: 0.85em; }
  table.KJEReportTableShrink {
    line-height: normal;
    border-radius: 0;
    padding: 0;
    width: 100%;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none; }
  table.KJEReportTableShrink td {
    padding: 0;
    margin: 0;
    font-size: .8em; }
  table.KJEReportTableShrink th {
    font-size: .85em; }
  table.KJEScheduleTable {
    font-size: 0.75em; }
  table.KJEScheduleTable th.KJEScheduleHeading {
    padding-right: 5px; }
  .KJEWidthConstraint {
    padding: 0; }
  table.KJEReportTable td.KJELabel, th.KJELabel, table.KJECalcTable td.KJELabel {
    padding-right: 5px; }
  table.KJEReportTable td.KJELabelPad, th.KJELabelPad, table.KJECalcTable td.KJELabelPad {
    padding-right: 5px;
    padding-left: 2px; }
  table.KJEReportTable td.KJECellStrong, table.KJEReportTable th.KJECellStrong, table.KJECalcTable td.KJECellStrong, table.KJECalcTable th.KJECellStrong {
    padding-right: 5px;
    padding-left: 2px; }
  table.KJEReportTable td.KJECell, table.KJEReportTable th.KJECell, table.KJECalcTable td.KJECell, table.KJECalcTable th.KJECell {
    padding-right: 5px;
    padding-left: 2px; }
  #KJEDefinitionsDL {
    padding-left: 5px; }
  #KJEDefinitionsDL dt.KJEDefinition {
    font-size: 0.9em; }
  #KJEDefinitionsDL dd.KJEDefinition {
    padding: 5px 5px 20px 5px; }
  #KJEDefinitionsDL p.KJEDefinition {
    font-size: 0.90em;
    line-height: 1.5em; }
  #KJEDefinitionsDL td, #KJEDefinitionsDL li, #KJEDefinitionsDL th {
    font-size: 0.9em;
    line-height: 1.5em; }
  #KJEDefinitionsDL ul, #KJEDefinitionsDL ol {
    font-size: 1em; }
  div.KJEReportTableDivLeft, div.KJEReportTableDivRight {
    display: block;
    float: none;
    width: 100%;
    /* three containers (use 25% for four, and 50% for two, etc) */ } }

@media screen and (max-width: 550px) {
  table.KJEScheduleTable {
    font-size: 0.65em; } }

@media screen and (max-width: 500px) {
  table.KJEScheduleTable {
    font-size: 0.5em; } }

@media screen and (max-width: 400px) {
  div.KJECalculatorTable {
    padding: 4px 0 0 0;
    box-shadow: 0 0 0;
    -webkit-box-shadow: 0 0 0;
    border-width: 1px;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -moz-box-shadow: 0 0 0; }
  div.KJEReportTableDiv {
    margin-right: 0;
    margin-left: 0;
    border-width: 0;
    border-radius: 0;
    padding: 0; }
  table.KJEReportTableShrink td {
    padding: 0;
    margin: 0;
    font-size: .75em; }
  table.KJEReportTable td.KJECell, table.KJEReportTable th.KJECell, table.KJECalcTable td.KJECell, table.KJECalcTable th.KJECell {
    padding-right: 2px;
    padding-left: 2px; }
  #KJEReport table.KJEReportTableShrink td, #KJEDefinitionsDL table.KJEReportTableShrink td {
    font-size: 0.75em; }
  #KJEDefinitionsDL table.KJEReportTableShrink th, #KJEReport table.KJEReportTableShrink th {
    font-size: 0.65em; }
  table.KJEScheduleTable {
    display: none; }
  p.KJEScheduleNote {
    display: inline; } }

@media print {
  .KJENoPrint {
    display: none; }
  #KJECalculatorScreenSize {
    page-break-before: avoid; }
  .KJEWrapper {
    background: #ffffff;
    border: 0 solid #ffffff; }
  .KJECalculatorTable {
    border: 2px solid #666666;
    box-shadow: 0 0 0;
    -webkit-box-shadow: 0 0 0;
    -moz-box-shadow: 0 0 0; }
  .KJECalculator {
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px; }
  .KJECalculator .KJEMain {
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px; }
  .KJECalculatorReportTable {
    display: none; }
  .KJEToggleIcon {
    display: none; }
  .KJEGraphIcon {
    display: none; }
  .KJEInputIcon {
    display: none; }
  .KJEDefinitions {
    display: block; }
  .KJEDefinitionsHeader {
    page-break-after: avoid; }
  .KJEDefinitions dl {
    page-break-before: avoid; }
  .KJEDefinitions dt {
    page-break-after: avoid; }
  .KJEDefinitions dd {
    page-break-before: avoid; }
  button.KJECommandButton {
    display: none; }
  #KJEScrollSticky, #KJEFixed, #KJECommandButtons, #KJEReportButtons {
    display: none; }
  .KJEDropperReport {
    border-top: 0; }
  table.KJEScheduleTable {
    border: 0;
    background: #fff; }
  table.KJEScheduleTable tr.KJEScheduleHeaderRow, table.KJEScheduleTable, table.KJEScheduleTable tr.KJEScheduleEvenRow, table.KJEScheduleTable tr.KJEScheduleOddRow {
    border: 0; }
  table.KJEScheduleTable td.KJEScheduleCell, table.KJEScheduleTable td.KJEScheduleCellStrong, table.KJEScheduleTable td.KJEScheduleCellSpecial {
    border-collapse: collapse;
    border: 1px black solid;
    border-top-width: 0;
    border-spacing: 0; }
  table.KJEScheduleTable th.KJEScheduleHeading,
  table.KJEScheduleTable th.KJEScheduleCell,
  table.KJEScheduleTable th.KJEScheduleCellStrong {
    border-collapse: collapse;
    border: 1px black solid;
    border-bottom-width: 1px;
    border-spacing: 0; }
  .KJEBreakHeader {
    display: block;
    page-break-before: always; }
  div.KJEReportTableDiv {
    border: 0 black solid;
    border-radius: 0;
    width: 100%;
    display: inline-block;
    padding: 2px;
    box-shadow: 0 0 0;
    -webkit-box-shadow: 0 0 0;
    -moz-box-shadow: 0 0 0; }
  table.KJEReportTable {
    border: 1px black solid;
    border-collapse: collapse;
    border-spacing: 1px; }
  table.KJEReportTable td.KJECell, table.KJEReportTable td.KJELabel {
    border: 1px black solid;
    border-spacing: 1px; }
  table.KJEReportTable td.KJECellStrong {
    border: 1px black solid;
    border-spacing: 1px; }
  table.KJEReportTable td.KJECellSpecial {
    border: 1px black solid;
    border-spacing: 1px; }
  caption.KJEHeaderRow, caption.KJEHeaderRow {
    border: 1px black solid;
    border-spacing: 1px; }
  table.KJEReportTable td.KJECellBorder, table.KJEReportTable th.KJECellBorder {
    border-width: 1px; }
  table.KJEReportTable td.KJECellNB {
    border-width: 0; }
  table.KJEReportTableNB {
    border-width: 0; } }

span.KJEAccessible {
  position: absolute;
  top: -1000px;
  left: -1000px;
  height: 1px;
  width: 1px;
  text-align: left;
  overflow: hidden; }

figcaption.KJEAccessible {
  font-size: 0;
  width: 0;
  height: 1px;
  position: absolute;
  overflow: hidden;
  z-index: -1000; }

span.KJEAccessibleInLine {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  /* for Internet Explorer */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden; }

fieldset.KJEAccessibleFieldSet {
  margin: 0;
  padding: 0;
  border: 0;
  display: inline-block; }

legend.KJEAccessibleFieldSetLegend {
  font-size: 0;
  width: 0;
  height: 1px;
  position: absolute;
  overflow: hidden;
  z-index: -1000; }

a.KJEAccessibleSkip {
  position: absolute;
  top: -1000px;
  left: -1000px;
  height: 1px;
  width: 1px;
  text-align: left;
  overflow: hidden; }

a.KJEAccessibleSkip:active,
a.KJEAccessibleSkip:focus,
a.KJEAccessibleSkip:hover {
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  overflow: visible; }

.KJEPopupLink {
  z-index: 2;
  position: relative; }

#KJEMenuWindow {
  color: #000000;
  background: #ffffff;
  border: 1px solid #5D60C6;
  position: absolute;
  display: none;
  z-index: 99;
  padding: 9px;
  margin: 1em 0 3em;
  border-radius: 8px;
  box-shadow: 3px 3px 3px #333333;
  -webkit-box-shadow: 3px 3px 3px #333333;
  -moz-box-shadow: 3px 3px 3px #333333; }

#KJEMenuWindow:before {
  content: "";
  position: absolute;
  top: -10px;
  /* value = - border-top-width - border-bottom-width */
  left: auto;
  bottom: auto;
  /* value = - border-top-width - border-bottom-width */
  right: 10px;
  /* controls horizontal position */
  border-width: 0 10px 10px;
  border-style: solid;
  border-color: #5D60C6 transparent;
  /* reduce the damage in FF3.0 */
  display: block;
  width: 0; }

/* creates the smaller  triangle */
#KJEMenuWindow:after {
  content: "";
  position: absolute;
  top: -8px;
  /* value = - border-top-width - border-bottom-width */
  bottom: auto;
  /* value = - border-top-width - border-bottom-width */
  right: 9px;
  left: auto;
  /* value = (:before left) + (:before border-left) - (:after border-left) */
  border-width: 0 11px 11px;
  border-style: solid;
  border-color: #fff transparent;
  /* reduce the damage in FF3.0 */
  display: block;
  width: 0; }

input.KJEMenuInputItem {
  display: inline-block;
  width: 180px; }

input.KJEMenuButton[type=button] {
  font: bold 0.9em Arial, sans-serif;
  position: relative;
  color: #ffffff;
  background: #333333;
  padding: 2px;
  margin: 2px;
  border-radius: 4px;
  white-space: nowrap;
  width: 60px;
  border: 1px solid #666666;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(255, 255, 255, 0.6);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(255, 255, 255, 0.6); }

input.KJEMenuButton[type=button]:active {
  top: 2px;
  left: 1px; }

input.KJEMenuButtonWide[type=button] {
  width: 245px; }

input.KJEMenuInputSave {
  display: inline-block;
  width: 232px; }

div.KJEMenuLabel {
  font-weight: bold;
  display: inline-block;
  margin-top: 10px;
  margin-left: 5px;
  margin-right: 0;
  width: 182px;
  text-align: left; }

div.KJEMenuSavedRow {
  display: none;
  border: 0;
  padding: 5px; }

div.KJEMenuSelectedRow {
  background: #2ab0ed; }

.KJEInputContainer input[type=range].KJERange {
  -webkit-appearance: none;
  width: 100%;
  background: transparent;
  margin: 13px 0 0 0;
  border: none; }

.KJEInputContainer input[type=range]::-ms-tooltip {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .KJEInputContainer input[type=range].KJERange {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
    margin: -4px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box; } }

.KJEInputContainer input[type=range]:focus {
  outline: none; }

.KJEInputContainer input[type=range]::-webkit-slider-runnable-track {
  border-width: 2px 0 0 0;
  border-style: dotted;
  border-color: #666666;
  height: 5px;
  background: transparent; }

.KJEInputContainer input[type=range]:active::-webkit-slider-runnable-track {
  border-style: solid; }

.KJEInputContainer input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 14px;
  width: 14px;
  margin-top: -10px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 12px solid rgba(0, 0, 212, 0.6);
  -webkit-box-shadow: 0 2px rgba(0, 0, 212, 0.3);
          box-shadow: 0 2px rgba(0, 0, 212, 0.3);
  cursor: pointer; }

.KJEInputContainer input[type=range]:active::-webkit-slider-thumb {
  border-bottom: 12px solid #0000d4;
  -webkit-box-shadow: 0 2px rgba(0, 0, 212, 0.3);
          box-shadow: 0 2px rgba(0, 0, 212, 0.3); }

.KJEInputContainer input[type=range]::-moz-range-track {
  border-width: 2px 0 0 0;
  border-style: dotted;
  border-color: #666666;
  height: 0;
  padding: 0 0 10px 0;
  background: transparent;
  overflow: visible; }

.KJEInputContainer input[type=range]:active::-moz-range-track {
  border-style: solid; }

.KJEInputContainer input[type=range]::-moz-range-thumb {
  -webkit-appearance: none;
  border-radius: 0;
  height: 2px;
  width: 2px;
  margin-top: 0;
  border-top: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 12px solid rgba(0, 0, 212, 0.6);
  box-shadow: 0 2px rgba(0, 0, 212, 0.3);
  cursor: pointer;
  background: transparent; }

.KJEInputContainer input[type=range]:active::-moz-range-thumb {
  border-bottom: 12px solid #0000d4;
  -mox-box-shadow: 0 2px rgba(0, 0, 212, 0.6);
  box-shadow: 0 2px rgba(0, 0, 212, 0.6); }

.KJEInputContainer input[type=range]::-ms-track {
  height: 30px;
  background: transparent;
  color: transparent;
  border-color: transparent;
  border-width: 6px 0; }

.KJEInputContainer input[type=range]::-ms-fill-lower {
  border-width: 2px 0 0 0;
  border-style: dotted;
  border-color: #666666;
  background: transparent;
  border-radius: 0;
  box-shadow: none; }

.KJEInputContainer input[type=range]:active::-ms-fill-lower {
  border-style: solid; }

.KJEInputContainer input[type=range]::-ms-fill-upper {
  border-width: 2px 0 0 0;
  border-style: dotted;
  border-color: #666666;
  background: transparent;
  border-radius: 0;
  box-shadow: none; }

.KJEInputContainer input[type=range]:active::-ms-fill-upper {
  border-style: solid; }

.KJEInputContainer input[type=range]::-ms-thumb {
  -webkit-appearance: none;
  border-radius: 0;
  height: 2px;
  width: 2px;
  margin-top: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 12px solid rgba(0, 0, 212, 0.6);
  border-top: 0;
  box-shadow: 0 2px 0 rgba(0, 0, 212, 0.3);
  cursor: pointer;
  background: transparent; }

.KJEInputContainer input[type=range]:active::-ms-thumb {
  border-bottom: 12px solid #0000d4;
  -webkit-box-shadow: 0 2px rgba(0, 0, 212, 0.6);
  box-shadow: 0 2px rgba(0, 0, 212, 0.6); }

table.KJEIndexTable tr:hover {
  color: #ffffff; }

table.KJEIndexTable tr a:hover {
  color: #ffffff; }

table.KJEIndexTable {
  padding: 20px;
  font-size: 1em; }

table.KJEIndexTable th.KJELabel a {
  display: block;
  height: 100%;
  padding: 10px 10px 200px 10px;
  margin-bottom: -190px;
  margin-left: 0; }

table.KJEIndexTable th.KJELabel {
  overflow: hidden;
  padding: 0; }

table.KJEIndexTable tr:hover a {
  color: #ffffff; }

table.KJEReportTable tr.KJEFooterRow a {
  color: inherit;
  text-decoration: underline; }

/* incrementer */
div.KJEIncrementControl {
  display: inline-block;
  position: relative;
  color: #0053A3;
  height: 28px;
  width: 28px;
  margin-left: 4px;
  margin-right: 4px; }

.KJEIncrementMinus, .KJEIncrementPlus {
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border: 2px solid #0053A3;
  margin-left: 4px;
  margin-right: 4px;
  color: #FFFFFF;
  font-size: 2em; }

.KJEIncrementMinus:hover, .KJEIncrementPlus:hover {
  background: #5D60C6;
  border-color: #5D60C6; }

.KJEIncrementPlus:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "+";
  /* use the hex value here... */
  color: #FFFFFF;
  line-height: 28px;
  text-align: center; }

.KJEIncrementMinus:after {
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  content: "-";
  /* use the hex value here... */
  color: #FFFFFF;
  line-height: 28px;
  text-align: center;
  margin-top: -5px; }

div.KJEIncrementControl:active {
  position: relative;
  top: 2px; }

/*Proofing CSS*/
#KJEAllContent {
  background: #ffffff;
  color: #000000; }

.KJEFontHeading {
  color: #000000; }

.KJEError {
  color: #FF0000; }

.KJEWidthConstraint {
  max-width: 900px;
  text-align: left;
  margin: auto;
  background: #ffffff;
  padding: 15px; }

.KJEWrapper {
  background: #cccccc;
  padding: 0;
  margin: 0; }

body {
  margin: 0; }

#KJELogo {
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url(data:image/x-png;base64,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); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJjb21wb25lbnRzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJjb21wb25lbnRzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiX2luZGV4LnNjc3MiLCJfc2VydmljZXMuc2NzcyIsIl9hYm91dC5zY3NzIiwiX3Jlc291cmNlLnNjc3MiLCJfY29udGFjdC5zY3NzIiwiX2pvdXJuZXkuc2NzcyIsIl9LSkUuc2NzcyIsIl9LSkVTaXRlU3BlY2lmaWMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7O3lDQUV5QztBQUl6QztFQUNDLHdFQUp1RSxFQUt2RTs7QUFFRDtFQUNDLDRDQVA2QyxFQVE3Qzs7QUFFRDs7eUNBRXlDO0FDaEJ6Qzs7Ozs7R0FLRztBQzhKRztFQ3ZISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFBYyxFQUNmLEVBQUE7O0FDSEQsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFpQjtFQUFHLE9BQU87RUFFN0IsMkJBQTBCO0VBQUcsT0FBTztFQUNwQywrQkFBOEI7RUFBRyxPQUFPLEVBQ3pDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztPQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDtFRTlFRixlQVh1QztFRm9HakMsaUJBQWdCLEVBRW5COztBQW9DRDtvRkFDZ0Y7QUF1Q2hGOztPQUVHO0FBRUg7O0VBRUUsZUFBYyxFQUNmOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkN2TFksRUR5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSxnQ0FBdUI7VUFBdkIsd0JBQXVCO0VBQUcsT0FBTztFQUNqQyxVQUFTO0VBQUcsT0FBTztFQUNuQixrQkFBaUI7RUFBRyxPQUFPLEVBQzVCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBYUQ7OztPQUdHO0FBRUg7RUFDRSxrQ0FBaUM7RUFBRyxPQUFPO0VBQzNDLGVBQWM7RUFBRyxPQUFPLEVBQ3pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLDhCQUE2QjtFQUFHLE9BQU87RUFDdkMsc0NBQXFDO0VBQUcsT0FBTyxFQUNoRDs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxpQkFB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Z0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDRCQURnSCxFSmdDL0c7SUFkRDtNSXpCQSxZQUFtQixFSjJCcEI7SUFFQztNSXpCQSxZQUFtQixFSjJCcEI7SUFNRztNSTdCRixnQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDRCQURnSCxFSmdDL0csRUFBQTtFUjhDQztJUTVERjtNSXpCQSxZQUFtQixFSjJCcEI7SUFFQztNSXpCQSxZQUFtQixFSjJCcEI7SUFNRztNSTdCRixnQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDJCQURnSCxFSmdDL0c7SUFGQztNSTdCRixpQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLDRCQURnSCxFSmdDL0csRUFBQTs7QUE4Q0g7RUNuSU0seUJBQTRCO0VBQTVCLHdCQUE0QixFRHdJL0I7RVJMQztJUUFKO01DbklNLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUR3SS9CLEVBQUE7O0FBSUQ7RUM1SUkseUJBQTRCO0VBQTVCLHdCQUE0QixFRDhJL0I7RVJYQztJUVNGO01DNUlJLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUQ4SS9CLEVBQUE7O0FBWEg7RUNuSU0seUJBQTRCO0VBQTVCLHdCQUE0QixFRG1KL0I7RVJoQkM7SVFBSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEbUovQixFQUFBOztBS3RKQztFRHlERixZQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsV0FEb0QsRUN0RHJEOztBQUZHO0VEeURGLGlCQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsV0FEb0QsRUN0RHJEOztBQUZHO0VEeURGLFdBRG9ELEVDdERyRDs7QUFGRztFRHlERixpQkFEb0QsRUN0RHJEOztBQUZHO0VEeURGLGlCQURvRCxFQ3REckQ7O0FBRkc7RUR5REYsYUFEb0QsRUN0RHJEOztBYm9JRztFYXRJQTtJRHlERixZQURvRCxFQ3REckQ7RUFGRztJRHlERixXQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixhQURvRCxFQ3REckQsRUFBQTs7QWJvSUc7RWF0SUE7SUR5REYsWUFEb0QsRUN0RHJEO0VBRkc7SUR5REYsV0FEb0QsRUN0RHJEO0VBRkc7SUR5REYsaUJBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLFdBRG9ELEVDdERyRDtFQUZHO0lEeURGLGlCQURvRCxFQ3REckQ7RUFGRztJRHlERixpQkFEb0QsRUN0RHJEO0VBRkc7SUR5REYsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkc7RUR5REYsNkJBRGdILEVDdERqSDs7QUFGRztFRHlERiw0QkFEZ0gsRUN0RGpIOztBQUZHO0VEeURGLGtDQURnSCxFQ3REakg7O0FBRkc7RUR5REYsNEJBRGdILEVDdERqSDs7QUFGRztFRHlERiw0QkFEZ0gsRUN0RGpIOztBQUZHO0VEeURGLGtDQURnSCxFQ3REakg7O0FBRkc7RUR5REYsa0NBRGdILEVDdERqSDs7QUFGRztFRHlERiw4QkFEZ0gsRUN0RGpIOztBYm9JRztFYXRJQTtJRHlERiw2QkFEZ0gsRUN0RGpIO0VBRkc7SUR5REYsNEJBRGdILEVDdERqSDtFQUZHO0lEeURGLGtDQURnSCxFQ3REakg7RUFGRztJRHlERiw0QkFEZ0gsRUN0RGpIO0VBRkc7SUR5REYsNEJBRGdILEVDdERqSDtFQUZHO0lEeURGLGtDQURnSCxFQ3REakg7RUFGRztJRHlERixrQ0FEZ0gsRUN0RGpIO0VBRkc7SUR5REYsOEJBRGdILEVDdERqSDtFQUZHO0lEeURGLDRCQURnSCxFQ3REakg7RUFGRztJRHlERiwyQkFEZ0gsRUN0RGpIO0VBRkc7SUR5REYsaUNBRGdILEVDdERqSDtFQUZHO0lEeURGLDJCQURnSCxFQ3REakg7RUFGRztJRHlERiwyQkFEZ0gsRUN0RGpIO0VBRkc7SUR5REYsaUNBRGdILEVDdERqSDtFQUZHO0lEeURGLGlDQURnSCxFQ3REakg7RUFGRztJRHlERiw2QkFEZ0gsRUN0RGpILEVBQUE7O0Fib0lHO0VhdElBO0lEeURGLDRCQURnSCxFQ3REakg7RUFGRztJRHlERiwyQkFEZ0gsRUN0RGpIO0VBRkc7SUR5REYsaUNBRGdILEVDdERqSDtFQUZHO0lEeURGLDJCQURnSCxFQ3REakg7RUFGRztJRHlERiwyQkFEZ0gsRUN0RGpIO0VBRkc7SUR5REYsaUNBRGdILEVDdERqSDtFQUZHO0lEeURGLGlDQURnSCxFQ3REakg7RUFGRztJRHlERiw2QkFEZ0gsRUN0RGpILEVBQUE7O0FMZ01HO0VNdk1FLGdCQUEwQjtFQUExQixlQUEwQixFTnlNM0I7RU10TUM7SUFFRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUFFN0I7RUFvQk87SUZtQ1YsZ0JBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixZQURvRCxFRWhDM0M7RWQ4R1A7SWNoSFE7TUZtQ1YsZ0JBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixZQURvRCxFRWhDM0MsRUFBQTtFZDhHUDtJY2hIUTtNRm1DVixnQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFdBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsV0FEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLGlCQURvRCxFRWhDM0M7SUFGQztNRm1DVixXQURvRCxFRWhDM0M7SUFGQztNRm1DVixpQkFEb0QsRUVoQzNDO0lBRkM7TUZtQ1YsaUJBRG9ELEVFaEMzQztJQUZDO01GbUNWLFlBRG9ELEVFaEMzQyxFQUFBOztBTmdMUDtFTXRLRSxnQkFBMEI7RUFBMUIsZUFBMEIsRU53SzNCO0VNcktDO0lBRUUsaUJBQTRCO0lBQTVCLGdCQUE0QixFQUUvQjs7QWQ2RkQ7RVE0REE7SU12TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOeU0zQjtJTXRNQztNQUVFLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBZG9JRDtFY3pIUTtJRjRDVixnQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY2hIUTtJRm1DVixnQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFlBRG9ELEVFaEMzQyxFQUFBOztBZDhHUDtFY2hIUTtJRm1DVixnQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFlBRG9ELEVFaEMzQyxFQUFBOztBZDhHUDtFUWtFQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktDO01BRUUsaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBZDZGRDtFUTREQTtJTXZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU55TTNCO0lNdE1DO01BRUUsZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0Fkb0lEO0VjekhRO0lGNENWLGdCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsWUFEb0QsRUV6QzNDLEVBQUE7O0FkdUhQO0VjekhRO0lGNENWLGdCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsV0FEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixXQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsaUJBRG9ELEVFekMzQztFQUZDO0lGNENWLFdBRG9ELEVFekMzQztFQUZDO0lGNENWLGlCQURvRCxFRXpDM0M7RUFGQztJRjRDVixpQkFEb0QsRUV6QzNDO0VBRkM7SUY0Q1YsWUFEb0QsRUV6QzNDLEVBQUE7O0FkdUhQO0VjaEhRO0lGbUNWLGdCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsV0FEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixXQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsaUJBRG9ELEVFaEMzQztFQUZDO0lGbUNWLFdBRG9ELEVFaEMzQztFQUZDO0lGbUNWLGlCQURvRCxFRWhDM0M7RUFGQztJRm1DVixpQkFEb0QsRUVoQzNDO0VBRkM7SUZtQ1YsWUFEb0QsRUVoQzNDLEVBQUE7O0FkOEdQO0VRa0VBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0M7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FONktEO0VPMU5GLGdCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixzQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix5Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix5Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix5Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix5Q0FBNkIsRVBnTzFCOztBUnRGRDtFUWdGQTtJTzFORixnQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHNCQUE2QixFUDROMUI7RUFFRDtJTzlORix1Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUIsRUFBQTs7QVJ0RkQ7RVFnRkE7SU8xTkYsZ0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixzQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsdUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7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YUFBbUIsRUoyQnBCO0lBRUM7TUl6QkEsYUFBbUIsRUoyQnBCO0lBTUc7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw2QkFEZ0gsRUpnQy9HO0lBZEQ7TUl6QkEsYUFBbUIsRUoyQnBCO0lBRUM7TUl6QkEsYUFBbUIsRUoyQnBCO0lBTUc7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw2QkFEZ0gsRUpnQy9HLEVBQUE7RVI4Q0M7SVE1REY7TUl6QkEsYUFBbUIsRUoyQnBCO0lBRUM7TUl6QkEsYUFBbUIsRUoyQnBCO0lBTUc7TUk3QkYsaUNBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsa0NBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRiw0QkFEZ0gsRUpnQy9HO0lBRkM7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bUNBRGdILEVKZ0MvRztFQUZDO0lJN0JGLG1DQURnSCxFSmdDL0c7RUFGQztJSTdCRiw4QkFEZ0gsRUpnQy9HO0VSOENDO0lRNURGO01JekJBLGFBQW1CLEVKMkJwQjtJQUVDO01JekJBLGFBQW1CLEVKMkJwQjtJQU1HO01JN0JGLGlDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNkJBRGdILEVKZ0MvRztJQWREO01JekJBLGFBQW1CLEVKMkJwQjtJQUVDO01JekJBLGFBQW1CLEVKMkJwQjtJQU1HO01JN0JGLGlDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNkJBRGdILEVKZ0MvRyxFQUFBO0VSOENDO0lRNURGO01JekJBLGFBQW1CLEVKMkJwQjtJQUVDO01JekJBLGFBQW1CLEVKMkJwQjtJQU1HO01JN0JGLGlDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNEJBRGdILEVKZ0MvRztJQUZDO01JN0JGLGtDQURnSCxFSmdDL0c7SUFGQztNSTdCRixrQ0FEZ0gsRUpnQy9HO0lBRkM7TUk3QkYsNkJBRGdILEVKZ0MvRyxFQUFBOztBQXlTRDtFUTNYSSwrQkFBbUMsRVI2WHRDO0VSN1BDO0lRMlBGO01RM1hJLDhCQUFtQyxFUjZYdEMsRUFBQTtFUjdQQztJUTJQRjtNUTNYSSw4QkFBbUMsRVI2WHRDLEVBQUE7O0FSN1BDO0VRK1BBO0lRL1hFLDhCQUFtQyxFUmlZcEMsRUFBQTs7QVJqUUQ7RVErUEE7SVEvWEUsOEJBQW1DLEVSaVlwQyxFQUFBOztBU3JLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JYckgwQjtFV3VIMUIsbUJBQWtCO0VBQ2xCLGlCWHpIc0I7RVcwSHRCLG1DWHhIeUMsRVd5SDFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0JYN01xQjtFVzhNckIscUJBQW9CLEVBQ3JCOztBQUdEO0VBQ0UsZVgvSWlCO0VXZ0pqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQU1FLHdFWHRPeUU7RVd1T3pFLG1CWG5Mc0I7RVdvTHRCLGtCWGhPcUI7RVdpT3JCLGVYbkxrQjtFV29MbEIsbUNYL0pzQyxFV3FLdkM7RUFoQkQ7Ozs7OztJQWFJLGVBQWM7SUFDZCxlWHBQZSxFV3FQaEI7O0FBUUc7RUFJSSxrQk52UDZDO0VNbVE3QyxpQlhoTlc7RVd3TlgsY0FBYTtFQU9iLHNCWDlOaUIsRVdnT3BCOztBQWpDRDtFQUlJLG1CTnZQNkM7RU1tUTdDLGlCWGhOVztFV3dOWCxjQUFhO0VBT2Isc0JYOU5pQixFV2dPcEI7O0FBakNEO0VBSUkscUJOdlA2QztFTW1RN0MsaUJYaE5XO0VXd05YLGNBQWE7RUFPYixzQlg5TmlCLEVXZ09wQjs7QUFqQ0Q7RUFJSSxvQk52UDZDO0VNbVE3QyxpQlhoTlc7RVd3TlgsY0FBYTtFQU9iLHNCWDlOaUIsRVdnT3BCOztBQWpDRDtFQUlJLHFCTnZQNkM7RU1tUTdDLGlCWGhOVztFV3dOWCxjQUFhO0VBT2Isc0JYOU5pQixFV2dPcEI7O0FBakNEO0VBSUksZ0JOdlA2QztFTW1RN0MsaUJYaE5XO0VXd05YLGNBQWE7RUFPYixzQlg5TmlCLEVXZ09wQjs7QWpCek1IO0VpQndLRTtJQUlJLGdCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksa0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxxQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLHFCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksbUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxnQk52UDZDLEVNb1JoRCxFQUFBOztBQU1QO0VBQ0UscUJBQW9CO0VBQ3BCLGVYcFNXO0VXcVNYLHNCWHhNeUI7RVcwTXpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVgvTTJELEVXbU41RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QUFJSDtFQUNFLFlBQVc7RUFFWCxpQk5sVHFEO0VNbVRyRCxVQUFTO0VBQ1QscUJYM055QjtFVzZOekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYbFVpQjtFV21VakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlhyUDBCO0VXc1AxQiw2QlhwT3lCO0VXcU96QixpQlh4UHNCLEVXeVB2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCWDlPc0I7RVcrT3RCLHNCWGpQa0IsRVdrUG5COztBQUdEO0VBQ0UscUJYcFBzQixFV3FQdkI7O0FBR0Q7RUFFSSxxQlh6UDJCO0VXMFAzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlgvUHlCLEVXcVExQjtFQVBEO0lBSUksc0JYaFE4QjtJV2lROUIsa0JYL1ZtQixFV2dXcEI7O0FBSUg7RUFDRSxpQlg5UjBCO0VXK1IxQix1Q04xV3FEO0VNMldyRCwrQlhyWGlCLEVXMlhsQjtFQVREO0lBTUksaUJYcFNvQjtJV3FTcEIsZVh4WGEsRVd5WGQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJOdFhxRDtFTXVYckQsZVhoWWUsRVdxWWhCO0VBUkQ7SUFNSSxjWGxSZ0IsRUFBYTs7QVd1UmpDO0VBQ0Usa0NYeFlXO0VXeVlYLGFBQVk7RUFDWixzQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSxzQ041WXFEO0VNOFlyRCwwQlh4WmlCO0VXeVpqQiwwQlgxWmdCO0VXNFpoQiw2RFhoV21FO0VXaVduRSxvQlgvWXlCO0VXZ1p6QixlWDNaVyxFVzRaWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCw0Qk5wWlM7RU1zWlQsMEJYdGFnQjtFV3dhaEIsNkRYNVdtRTtFVzZXbkUsZVh0YVcsRVcyYVo7O0FDNWNEO0VBQ0UsbUJaZ0t5QjtFWS9KekIsc0JaZ0s0QjtFWTlKNUIsb0Jad0N5QjtFWXZDekIsaUJaeUpzQjtFWXhKdEIsZVowQmUsRVl6QmhCOztBQUdEO0VBQ0UsZ0JaaUpxQztFWWhKckMsaUJaaUppQixFWWhKbEI7O0FBR0Q7RUFDRSxrQlprSm1CO0VZakpuQixlQUFjLEVBS2Y7RUFIQztJQUNFLGtCQUFpQixFQUNsQjs7QUFHSDtFQUdJLGVBQWdDO0VBQ2hDLGlCQUFnQixFQUNqQjs7QUMvREs7RUFDRSxpQkFSZSxFQVNoQjs7QUFGRDtFQUNFLGtCQVJzQixFQVN2Qjs7QUFGRDtFQUNFLG1CQVI4QixFQVMvQjs7QUFGRDtFQUNFLG9CQVJ1QyxFQVN4Qzs7QW5CbUpMO0VtQjFKSTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFDRSxrQkFIc0IsRUFJdkI7RUFGRDtJQUNFLG1CQUg4QixFQUkvQjtFQUZEO0lBQ0Usb0JBSHVDLEVBSXhDLEVBQUE7O0FuQndKTDtFbUIxSkk7SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBQ0VUO0VBQWtCLHlCQUF3QixFQUFLOztBQUUvQztFQUNFO0lBRUksbUNBQWtDO0lBR3BDLG9DQUEyQjtZQUEzQiw0QkFBMkI7SUFFM0Isd0JBQXVCO0lBQ3ZCLDZCQUE0QixFQUM3QjtFQUVEO0lBQWtCLDBCQUF5QixFQUFLO0VBQ2hEO0lBQWtCLHlCQUF3QixFQUFLO0VBRS9DO0lBQXVCLDBCQUF5QixFQUFLO0VBQ3JEO0lBQXVCLHVDQUFzQyxFQUFLO0VBQ2xFO0lBQXVCLG9DQUFtQyxFQUFLO0VBQy9EO0lBQW9CLDhCQUE2QixFQUFLO0VBQ3REO0lBQW9CLCtCQUE4QixFQUFLO0VBQ3ZEO0lBQW9CLCtCQUE4QixFQUFLO0VBR3ZEOztJQUNZLDJCQUEwQixFQUFJO0VBRXhDO0lBQWdCLDZCQUE0QixFQUFJO0VBSWxEOzs7SUFFcUIsWUFBVyxFQUFLO0VBR3JDO0lBQW9CLDhCQUE2QixFQUFJO0VBR3JEOztJQUVFLDBCZHdCYTtJY3ZCYix5QkFBd0IsRUFDekI7RUFHRDtJQUFRLDRCQUEyQixFQUFLO0VBRXhDOztJQUNNLHlCQUF3QixFQUFLO0VBRW5DO0lBQU0sMkJBQTBCLEVBQUs7RUFFckM7SUFBUSxjQUFhLEVBQUE7RUFFckI7OztJQUdFLFdBQVU7SUFDVixVQUFTLEVBQ1Y7RUFHRDs7SUFDSyx3QkFBdUIsRUFBSztFQUdqQztJQUNFLHdCQUF1QixFQUN4QixFQUFBOztBQ2tMSDtFQWhMQSxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLG1CZnFNa0M7RWVwTWxDLHFCZmtNMEI7RWV4THhCLG9CZnlMdUI7RWV0THpCLHlCQUF3QjtFQUN4Qiw4QkFBNkI7RUFDN0IsaUJmVmU7RWVXZiwwRWZzTXVFO0VldE12RSxrRWZzTXVFO0VlcE12RSxrQmY2TGU7RWU1TGYsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixnQkFBZTtFQXFDZiwwQnZCakltQjtFdUJrSW5CLGVmbEVhLEVld1NaO0V4QjQxREQ7SVUzZ0VFLFdBQVUsRUFDWDtFY3RERDtJQUNFLDBCZnlJdUU7SWV4SXZFLGVmdEVXLEVldUVaO0VBNkdEO0lBTU0sa0JmMEJNLEVlekJQO0VBUEw7SUFNTSxtQmYyQlEsRWUxQlQ7RUFQTDtJQU1NLG1CZjZCUSxFZTVCVDtFQVBMO0lBakpFLGVBQWM7SUFDZCxZQUFXO0lBQ1gsZ0JBQWU7SUFDZixlQUFjLEVBd0p5QjtFQVZ6QztJQW5IQSwwQmYzRWdCO0llNEVoQixlZmxFYSxFZXFNTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlZnRFVyxFZXVFWjtFQTZHRDtJQW5IQSwwQmYxRWtCO0llMkVsQixlZmxFYSxFZXFNTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlZnRFVyxFZXVFWjtFQTZHRDtJQW5IQSwwQmZ6RWdCO0llMEVoQixlZm5FYSxFZXNNTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlZnZFVyxFZXdFWjtFQTZHRDtJQW5IQSwwQmZ4RWdCO0lleUVoQixlZm5FYSxFZXNNTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixlZnZFVyxFZXdFWjtFQTZHRDtJQW5IQSwwQmZ2RWM7SWV3RWQsZWZsRWEsRWVxTU47SUFqSVA7TUFDRSwwQkFQb0Y7TUFRcEYsZWZ0RVcsRWV1RVo7RUE2R0Q7SUExREEsY2ZnRzRCO0llL0Y1QixvQkFBbUIsRUFpR2hCO0lBL0ZIO01BQ0UsMEJ2QjlMaUI7TXVCK0xqQixlZi9IVyxFZWdJWjtJQW9ERDtNQTFEQSxjZmdHNEI7TWUvRjVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCZnhJYztRZXlJZCxlZi9IVyxFZWdJWjtJQW9ERDtNQTFEQSxjZmdHNEI7TWUvRjVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCZnZJZ0I7UWV3SWhCLGVmL0hXLEVlZ0laO0lBb0REO01BMURBLGNmZ0c0QjtNZS9GNUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJmdEljO1FldUlkLGVmaElXLEVlaUlaO0lBb0REO01BMURBLGNmZ0c0QjtNZS9GNUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJmckljO1Flc0lkLGVmaElXLEVlaUlaO0lBb0REO01BMURBLGNmZ0c0QjtNZS9GNUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJmcElZO1FlcUlaLGVmL0hXLEVlZ0laO0VBb0REO0lBbkZBLDBCdkJqS21CO0l1QmtLbkIsZXZCbEttQixFdUJ5U2Q7SUE3Skw7TUFFRSw4QkFBNkIsRUFDOUI7SUFJQztNQUVFLDhCQUE2QixFQUM5QjtJQWNIO01BQ0Usc0JBTjZEO01BTzdELGVBUDZELEVBYTlEO01BTEM7UUFFRSwwQnZCektlO1F1QjBLZixldkIxS2UsRXVCMktoQjtJQXlFSDtNQW5GQSwwQmYzR2dCO01lNEdoQixlZjVHZ0IsRWVpUFA7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZm5IWTtVZW9IWixlZnBIWSxFZXFIYjtJQXlFSDtNQW5GQSwwQmYxR2tCO01lMkdsQixlZjNHa0IsRWVnUFQ7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZmxIYztVZW1IZCxlZm5IYyxFZW9IZjtJQXlFSDtNQW5GQSwwQmZ6R2dCO01lMEdoQixlZjFHZ0IsRWUrT1A7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZmpIWTtVZWtIWixlZmxIWSxFZW1IYjtJQXlFSDtNQW5GQSwwQmZ4R2dCO01leUdoQixlZnpHZ0IsRWU4T1A7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZmhIWTtVZWlIWixlZmpIWSxFZWtIYjtJQXlFSDtNQW5GQSwwQmZ2R2M7TWV3R2QsZWZ4R2MsRWU2T0w7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZi9HVTtVZWdIVixlZmhIVSxFZWlIWDtFQXlFSDtJQW5GQSwwQnZCakttQjtJdUJrS25CLGV2QmxLbUIsRXVCc1VkO0lBMUxMO01BRUUsOEJBQTZCLEVBQzlCO0lBSUM7TUFFRSw4QkFBNkIsRUFDOUI7SUFjSDtNQUNFLHNCQU42RDtNQU83RCxlQVA2RCxFQWE5RDtNQUxDO1FBRUUsMEJ2QnpLZTtRdUIwS2YsZXZCMUtlLEV1QjJLaEI7SUF5RUg7TUFnRVUsMEJBQXlCLEVBQzFCO0lBakVUO01BbkZBLDBCZjNHZ0I7TWU0R2hCLGVmNUdnQixFZThRUDtNQWhLVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJmbkhZO1Vlb0haLGVmcEhZLEVlcUhiO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQmYxR2tCO01lMkdsQixlZjNHa0IsRWU2UVQ7TUFoS1Q7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZmxIYztVZW1IZCxlZm5IYyxFZW9IZjtNQXlFSDtRQTZFYywwQkFBeUIsRUFDMUI7SUE5RWI7TUFuRkEsMEJmekdnQjtNZTBHaEIsZWYxR2dCLEVlNFFQO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQmZqSFk7VWVrSFosZWZsSFksRWVtSGI7TUF5RUg7UUE2RWMsMEJBQXlCLEVBQzFCO0lBOUViO01BbkZBLDBCZnhHZ0I7TWV5R2hCLGVmekdnQixFZTJRUDtNQWhLVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJmaEhZO1VlaUhaLGVmakhZLEVla0hiO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQmZ2R2M7TWV3R2QsZWZ4R2MsRWUwUUw7TUFoS1Q7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCZi9HVTtVZWdIVixlZmhIVSxFZWlIWDtNQXlFSDtRQTZFYywwQkFBeUIsRUFDMUI7RUF0SGI7SWRuTEEsZUFBYztJQUNkLFNBQVE7SUFDUixVQUFTO0lBRVQsb0JjMktZO0lkektaLFlBQVc7SUFHVCx1QkFBc0I7SUFDdEIsd0JBQXVCO0lBQ3ZCLDhDQUFxRDtJYzBLckQsbUJBQWtCO0lBQ2xCLFdBQVU7SUFFVixzQkFBcUI7SUFDckIsYUFBTztJQUNQLGlCZnVEdUIsRWV0RHhCO0VBZ0NEO0lBaUdRLDBCdkJyVlcsRXVCc1ZaO0VBbEdQO0lBdUdZLDBCZnJTSSxFZXNTTDtFQXhHWDtJQXVHWSwwQmZwU00sRWVxU1A7RUF4R1g7SUF1R1ksMEJmblNJLEVlb1NMO0VBeEdYO0lBdUdZLDBCZmxTSSxFZW1TTDtFQXhHWDtJQXVHWSwwQmZqU0UsRWVrU0g7RUF4R1g7SUFnSEksWUFBVztJQUNYLFlBQVc7SUFDWCxlQUFnQyxFQUNqQzs7QUFFSDtFQUdJLHNCQUFxQixFQUN0Qjs7QXhCMmtFTDs7RXlCbDNFRSxlQUFjO0VBQ2QsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsa0JBTHNKO0VBTXRKLGlCWEh1RDtFV0l2RCxnQmhCOFYrQjtFZ0I1Vi9CLDBCaEJoQm1CO0VnQmlCbkIsaUJoQkZlO0VnQkdmLDBCaEJmYTtFZ0JnQmIsMERoQmpCYTtVZ0JpQmIsa0RoQmpCYTtFZ0JtQmIscUJoQjhVeUI7RWdCN1V6QixnQlhadUQ7RVdhdkQsb0JoQlYyQjtFZ0JXM0IsaUJoQjhVcUI7RWdCN1VyQixlaEJ2QmE7RWdCMEJYLDRFaEJvVjhEO0VnQnBWOUQsb0VoQm9WOEQ7RWdCcFY5RCw0RGhCb1Y4RDtFZ0JwVjlELHFGaEJvVjhEO0VnQi9UOUQseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7RXpCNDFFRDs7SXlCNzJFRSxjQUFhO0lBQ2IsMEJoQmpDZTtJZ0JrQ2YsMEJoQmhDVztJZ0JpQ1gsb0NoQnBDaUI7WWdCb0NqQiw0QmhCcENpQjtJZ0J1Q2YsNEVoQnlVNEQ7SWdCelU1RCxvRWhCeVU0RDtJZ0J6VTVELDREaEJ5VTREO0lnQnpVNUQscUZoQnlVNEQsRWdCdlUvRDs7QUFZRDtFQUNFLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWhCakVlLEVnQmtFaEI7O0FBTEg7O0VBSUksZWhCakVlLEVnQmtFaEI7O0FBTEg7O0VBSUksZWhCakVl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QkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QS9EcUREO0UrRHZEQTtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QS9EcUREO0UrRHZEQTtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QUE3Rkw7RUNPQSxxQkFBYTtFQUFiLHNCQUFh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QUE1Qiw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO01FNEJuRCwwQkY1Qm1EO1VFNEJuRCxzQkY1Qm1EO0VNR2pELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNRW5ELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNQ3BELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQWxELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsbUNDa0JjO1VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNSGpELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSm5ELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNTHBELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VDcUIvQixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTmxELHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VDb0I3QixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsbUNDa0JjO1VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7VURqQ2YsbUNDaUNlO0VDZ0JiLDhCQUZ5QjtNQUV6QiwwQkFGeUI7VUFFekIsc0JBRnlCO0VLM0J2Qix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FBVUQ7RUdvQkEsNEJBRnlCO01BRXpCLHdCQUZ5QjtVQUV6QixvQkFGeUI7RUtoQnZCLFdBQTJCLEVSQTVCOztBQWREO0VDbEJGLG1DQ2tCYztVRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO1VEakNmLG1DQ2lDZTtFQ2dCYiw4QkFGeUI7TUFFekIsMEJBRnlCO1VBRXpCLHNCQUZ5QjtFSzNCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7VURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtVRGpDZixtQ0NpQ2U7RUNnQmIsNEJBRnlCO01BRXpCLHdCQUZ5QjtVQUV6QixvQkFGeUI7RUszQnZCLHdEQUF1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QkFBZ0I7QUNqb0VoQjtFQUNJLG9CQUFtQjtFQUNuQixlQUFjLEVBQ2pCOztBQUVEO0VBQ0ksZUFBYSxFQUNoQjs7QUFFRDtFQUNJLGVBQWEsRUFDaEI7O0FBY0Q7RUFDSSxpQkFBZ0I7RUFDaEIsaUJBQWU7RUFDZixhQUFZO0VBQ1osb0JBQW1CO0VBQ25CLGNBQVksRUFDZjs7QUFFRDtFQUNJLG9CQUFtQjtFQUNuQixXQUFVO0VBQ1YsVUFBUSxFQUNYOztBQUVEO0VBQ0MsVUFBUyxFQUNUOztBQUdEO0VBQ0ksNkJBQTRCO0VBQzVCLGdDQUErQjtFQUMvQixvMllBQW0yWSxFQUN0MlkiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuVHlwb2dyYXBoeVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6IFwiZmYtbWV0YS1zZXJpZi13ZWItcHJvXCIsIHNlcmlmOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29sb3JzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ1ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC4zMTI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuMzEyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC4zMTI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjMxMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJjYW5hZGEtdHlwZS1naWJzb25cIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzA5MDkwOTsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMHJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4MmYzYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2MTgyMztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4MmYzYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U4MmYzYTtcbiAgICBjb2xvcjogI2U4MmYzYTsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzdlMGUxNTtcbiAgICAgIGNvbG9yOiAjN2UwZTE1OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U4MmYzYTtcbiAgICAgICAgY29sb3I6ICNlODJmM2E7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmNsZWFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTgyZjNhO1xuICAgIGNvbG9yOiAjZTgyZjNhOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzdlMGUxNTtcbiAgICAgIGNvbG9yOiAjN2UwZTE1OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTgyZjNhO1xuICAgICAgICBjb2xvcjogI2U4MmYzYTsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZTgyZjNhOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTc3OWJhOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzE3NzliYTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMxNzc5YmE7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLCB0Ym9keSwgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCwgdGhlYWQgdGQsIHRmb290IHRoLCB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTY3M2IxOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMTQ2OGEwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgMTIxLCAxODYsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NWVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwLjQ1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjQ1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7IH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi13ZWJraXQtc2xpZGVyLWhhbmRsZSB7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC40NXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC40NXJlbTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDAuNDVyZW0gc29saWQgI2ZlZmVmZTtcbiAgICBib3JkZXItYm90dG9tOiAwLjQ1cmVtIHNvbGlkICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTsgfVxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIG91dHB1dCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNHJlbTsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkdsb2JhbCBDU1Mgc2V0dGluZ3NcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxyXG5TZWN0aW9uXHJcbiovXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDE7IH1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNwcmltYXJ5V2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjAlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZGFkYWU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FkYWRhZTsgfSB9XG4gIC5wYWdlLWhlYWRlciBoMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAucGFnZS1oZWFkZXIgaDIge1xuICAgICAgICB3aWR0aDogNjAlOyB9IH1cbiAgLnBhZ2UtaGVhZGVyIC5wYWdlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgLnBhZ2UtaGVhZGVyIC5wYWdlLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnBhZ2UtZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5wYWdlLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5wYWdlLW1vYmlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5wYWdlLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgyZjNhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiAjZjdmN2Y3O1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXI6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjN2IwMTA5O1xuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDAgIzdiMDEwOTtcbiAgYm94LXNoYWRvdzogMCAycHggMCAjN2IwMTA5O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udi1hbGlnbiB7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC52LWFsaWduIC50ZXh0LWlubmVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmNvbnRhaW5lci00MDQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwJTsgfVxuICAuY29udGFpbmVyLTQwNCBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxucC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxucC5jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogU2xpY2sganMgb3ZlcnJpZGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNsaWNrLWRvdHMge1xuICBib3R0b206IDE1cHg7IH1cblxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogI2U4MmYzYTsgfVxuXG4ucmVkLWJnIC5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAwOyB9XG5cbi5xdW90ZS1zZWN0aW9uIC5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAtMjBweDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbmhlYWRlci5zY3NzXHJcbipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y3ZjdmNzsgfVxuICBoZWFkZXIgLm1vYmlsZS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgaGVhZGVyIC5tb2JpbGUtaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgaGVhZGVyIC5tb2JpbGUtc2hvdyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIGhlYWRlciAubW9iaWxlLXNob3cge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgaGVhZGVyIC5tZW51LXNlcGFyYXRvciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBoZWFkZXIgLmNvbnRhY3QtbGlua3Mge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIGhlYWRlciAucHJlaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAgIGhlYWRlciAucHJlaGVhZGVyIC5tb2JpbGUtbG9nby1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgaGVhZGVyIC5wcmVoZWFkZXIgLm1vYmlsZS1sb2dvLWNvbnRhaW5lciAubW9iaWxlLWxvZ28ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgaGVhZGVyIC5wcmVoZWFkZXIgLm1vYmlsZS1sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIgLnByZWhlYWRlciAubW9iaWxlLWxvZ28tY29udGFpbmVyIC5waG9uZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDhweDtcbiAgICAgICAgbWFyZ2luOiAxNXB4O1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICAvKiBzdG9wcyBiZyBjb2xvciBmcm9tIGxlYWtpbmcgb3V0c2lkZSB0aGUgYm9yZGVyOiAqLyB9XG4gICAgICAgIGhlYWRlciAucHJlaGVhZGVyIC5tb2JpbGUtbG9nby1jb250YWluZXIgLnBob25lIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAgIGhlYWRlciAucHJlaGVhZGVyIC5wYXJhZ3JhcGgtMiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBoZWFkZXIgLnByZWhlYWRlciBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzIzMWYyMDsgfVxuICAgIGhlYWRlciAucHJlaGVhZGVyIC5oZWFkZXItbGlua3Mge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgIGhlYWRlciAucHJlaGVhZGVyIC5oZWFkZXItbGlua3MgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgaGVhZGVyIC5wcmVoZWFkZXIgYSB7XG4gICAgICBjb2xvcjogIzIzMWYyMDsgfVxuICAgIGhlYWRlciAucHJlaGVhZGVyIC5zb2NpYWwtaXRlbXMge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICBoZWFkZXIgLnByZWhlYWRlciAuc29jaWFsLWl0ZW1zIC5zb2NpYWwtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogNy41cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNy41cHg7IH1cbiAgaGVhZGVyIC50aXRsZS1iYXIge1xuICAgIGJhY2tncm91bmQ6ICNlODJmM2E7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgaGVhZGVyIC5tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICBoZWFkZXIgLm1lbnUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogbGVmdDsgfSB9XG4gICAgaGVhZGVyIC5tZW51IC5zb2NpYWwtbWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBoZWFkZXIgLm1lbnUtbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIGhlYWRlciAubWVudS1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIGhlYWRlciAubWVudS1sb2dvIC5sb2dvIHtcbiAgICAgIHdpZHRoOiAzMDBweDsgfVxuICBoZWFkZXIgLm1lbnUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnRvcC1iYXItcmlnaHQgbGkgYSB7XG4gIHRyYW5zaXRpb246IDAuMnMgYm9yZGVyLWJvdHRvbSBlYXNlLWluLW91dDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50b3AtYmFyLXJpZ2h0IGxpIGEuaXRlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIC50b3AtYmFyLXJpZ2h0IGxpIGEuaXRlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0gfVxuICAudG9wLWJhci1yaWdodCBsaSBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U4MmYzYTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7IH1cblxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzIzMWYyMDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IDAuM3MgY29sb3IgZWFzZS1pbi1vdXQ7IH1cbiAgICBmb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2JlYmViZTsgfVxuICBmb290ZXIgI3NpZ251cCBpbnB1dCB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgZm9vdGVyICNzaWdudXAgLnNob3ctb24tc3VibWl0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgZm9vdGVyICNzaWdudXAgLnNob3ctb24tc3VibWl0IGg0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBmb290ZXIgLmZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiA1JTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIGZvb3RlciAuZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogNSUgMDsgfSB9XG4gICAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICAgICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmZvb3Rlci1oYWxmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLWhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5mb290ZXItdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLXRleHQgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogNzAlOyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgICAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5mb290ZXItdGV4dCAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogOTAlOyB9IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLWFib3V0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLWFib3V0IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDsgfSB9XG4gICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLWFib3V0IC5sb2NhdGlvbi1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLWFib3V0IC5sb2NhdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgICAgICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmZvb3Rlci1hYm91dCAubG9jYXRpb24tY29udGFpbmVyIC5sb2NhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgICAgICBmb290ZXIgLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmZvb3Rlci1hYm91dCAubG9jYXRpb24tY29udGFpbmVyIC5sb2NhdGlvbjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuICAgICAgICAgICAgZm9vdGVyIC5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5mb290ZXItYWJvdXQgLmxvY2F0aW9uLWNvbnRhaW5lciAubG9jYXRpb24gLmFkZHJlc3MtaWNvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggd2hpdGUgc29saWQ7XG4gICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDUlIDVweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgICAgICAgIGZvb3RlciAuZm9vdGVyIC5mb290ZXItY29udGVudCAuZm9vdGVyLWFib3V0IC5sb2NhdGlvbi1jb250YWluZXIgLmxvY2F0aW9uIC5hZGRyZXNzOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICBmb290ZXIgLnN1YnNjcmliZS10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIGZvb3RlciAuc3Vic2NyaWJlLXRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgZm9vdGVyICNzaWdudXAge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICNlODJmM2E7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICBmb290ZXIgI3NpZ251cCBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgyZjNhOyB9XG4gIGZvb3RlciAuZm9vdGVyLWZvcm0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgZm9vdGVyIC5mb290ZXItZm9ybSBpbnB1dCB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWZvcm0gaW5wdXQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDEwcHggI2ZlZmVmZTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMTBweCAjZmVmZWZlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAjZmVmZWZlOyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1mb3JtIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1mb3JtIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItZm9ybSBsYWJlbC5lcnJvciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLS44cmVtOyB9XG4gICAgZm9vdGVyIC5mb290ZXItZm9ybSAuYnV0dG9uLXN1YnNjcmliZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjZTgyZjNhO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1mb3JtIC5idXR0b24tc3Vic2NyaWJlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICBmb290ZXIgLmZvb3Rlci1mb3JtIC5idXR0b24tc3Vic2NyaWJlIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIGZvb3RlciAucG9saWN5LXRleHQgLmNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZGFkYWU7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIGZvb3RlciAucG9saWN5LXRleHQgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Gcm9udCBwYWdlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnZpZGVvLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC52aWRlby1zZWN0aW9uIC52aWRlby1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC52aWRlby1zZWN0aW9uIC52aWRlby1jb250YWluZXIgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi1zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDUlO1xuICBwYWRkaW5nLWJvdHRvbTogNSU7IH1cblxuLmNvbnRlbnQtLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5oZXJvLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICAvKiBpbml0aWFsIGhpZGUgZm9yIHZpZGVvIHBsYXliYWNrICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIC5oZXJvLXNlY3Rpb24gLmhlcm8tbWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVyby1zZWN0aW9uIC5oZXJvLW1lZGl1bSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAuaGVyby1zZWN0aW9uIC5oZXJvLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaGVyby1zZWN0aW9uIC5oZXJvLWNhcm91c2VsIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmhlcm8tc2VjdGlvbiAuaGVyby1jYXJvdXNlbCAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA1MDBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAuaGVyby1zZWN0aW9uIC5oZXJvLWNhcm91c2VsIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogNjAwcHg7IH0gfVxuICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1jYXJvdXNlbCAuaW1hZ2UtY29udGFpbmVyIC5oZXJvLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1jYXJvdXNlbCAuaW1hZ2UtY29udGFpbmVyIC5oZXJvLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24gLmhlcm8tY2Fyb3VzZWwgLmltYWdlLWNvbnRhaW5lciAuaGVyby1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5oZXJvLXNlY3Rpb24gLmhlcm8tY2Fyb3VzZWwgLmltYWdlLWNvbnRhaW5lciAuaGVyby1kZXNrdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmhlcm8tc2VjdGlvbiAuaGVyby1zZWN0aW9uLS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gICAgICAuaGVyby1zZWN0aW9uIC5oZXJvLXNlY3Rpb24tLWlubmVyIHtcbiAgICAgICAgdG9wOiAxNSU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIC5oZXJvLXNlY3Rpb24gLmhlcm8tc2VjdGlvbi0taW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1zZWN0aW9uLS1pbm5lciB7XG4gICAgICAgIHRvcDogMTUlOyB9IH1cbiAgICAuaGVyby1zZWN0aW9uIC5oZXJvLXNlY3Rpb24tLWlubmVyIC5ob21lLXRpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1zZWN0aW9uLS1pbm5lciAuaG9tZS10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1zZWN0aW9uLS1pbm5lciAuaG9tZS10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICAuaGVyby1zZWN0aW9uIC5oZXJvLXNlY3Rpb24tLWlubmVyIC5oZXJvLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhlcm8tc2VjdGlvbiAuaGVyby1zZWN0aW9uLS1pbm5lciAuaGVyby10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzJTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzJTsgfSB9XG4gICAgICAuaGVyby1zZWN0aW9uIC5oZXJvLXNlY3Rpb24tLWlubmVyIC5oZXJvLXRleHQgcCB7XG4gICAgICAgIGNvbG9yOiAjODU4NTg1OyB9XG4gICAgLmhlcm8tc2VjdGlvbiAuaGVyby1zZWN0aW9uLS1pbm5lciAuZGFyay10ZXh0IHAge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuaGVyby1zZWN0aW9uIC5oZXJvLXNlY3Rpb24tLWlubmVyIC5saWdodC10ZXh0IHAge1xuICAgICAgY29sb3I6ICM4NTg1ODU7IH1cblxuLnNlcnZpY2VzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgyZjNhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZy10b3A6IDUlO1xuICBwYWRkaW5nLWJvdHRvbTogNSU7IH1cbiAgLnNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2UtLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLS10ZXh0IHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAuc2VydmljZXMtc2VjdGlvbiAuc2VydmljZS1zZWN0aW9uLS1zZXJ2aWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIGEge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2Utc2VjdGlvbi0tc2VydmljZXMgYTpob3ZlciB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCAjZmVmZWZlO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMCA1cHggI2ZlZmVmZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAjZmVmZWZlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIGEge1xuICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIC5zZWN0aW9uLS1pbWFnZXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIC5zZWN0aW9uLS1pbWFnZXM6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgLnNlcnZpY2VzLXNlY3Rpb24gLnNlcnZpY2Utc2VjdGlvbi0tc2VydmljZXMgLnNlY3Rpb24tLWltYWdlcyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIC5zZXJ2aWNlLWJveCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAuc2VydmljZXMtc2VjdGlvbiAuc2VydmljZS1zZWN0aW9uLS1zZXJ2aWNlcyAuc2VydmljZS1ib3gge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweDsgfSB9XG4gICAgICAuc2VydmljZXMtc2VjdGlvbiAuc2VydmljZS1zZWN0aW9uLS1zZXJ2aWNlcyAuc2VydmljZS1ib3g6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgIC5zZXJ2aWNlcy1zZWN0aW9uIC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIC5zZXJ2aWNlLWJveCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJjYW5hZGEtdHlwZS1naWJzb25cIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjogI2U4MmYzYTsgfVxuICAuc2VydmljZXMtc2VjdGlvbiAjaW5kLS1zZXJ2aWNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnNlcnZpY2VzLXNlY3Rpb24gI2luZC0tc2VydmljZSAuc2VydmljZS1ib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiA1cHggNXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIHBhZGRpbmc6IDI1cHg7IH1cbiAgICAgIC5zZXJ2aWNlcy1zZWN0aW9uICNpbmQtLXNlcnZpY2UgLnNlcnZpY2UtYm94IGg0LCAuc2VydmljZXMtc2VjdGlvbiAjaW5kLS1zZXJ2aWNlIC5zZXJ2aWNlLWJveCAubGVhcm4tbW9yZS0tbGluayB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuc2VydmljZXMtc2VjdGlvbiAjaW5kLS1zZXJ2aWNlIC5zZXJ2aWNlLWJveDpob3ZlciB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCAjZmVmZWZlO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMCA1cHggI2ZlZmVmZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAjZmVmZWZlOyB9XG4gICAgICAgIC5zZXJ2aWNlcy1zZWN0aW9uICNpbmQtLXNlcnZpY2UgLnNlcnZpY2UtYm94OmhvdmVyIGg0IHtcbiAgICAgICAgICBjb2xvcjogI2U4MmYzYTsgfVxuICAgICAgICAuc2VydmljZXMtc2VjdGlvbiAjaW5kLS1zZXJ2aWNlIC5zZXJ2aWNlLWJveDpob3ZlciAubGVhcm4tbW9yZS0tbGluayB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgY29sb3I6ICNlODJmM2E7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgLnNlcnZpY2VzLXNlY3Rpb24gI2luZC0tc2VydmljZSAuc2VydmljZS1ib3gge1xuICAgICAgICAgIG1hcmdpbjogMTVweCAxMHB4OyB9IH1cbiAgICAgIC5zZXJ2aWNlcy1zZWN0aW9uICNpbmQtLXNlcnZpY2UgLnNlcnZpY2UtYm94IGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB0b3A6IDVweDsgfVxuICAgICAgLnNlcnZpY2VzLXNlY3Rpb24gI2luZC0tc2VydmljZSAuc2VydmljZS1ib3ggaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAuc2VydmljZXMtc2VjdGlvbiAjaW5kLS1zZXJ2aWNlIC5zZXJ2aWNlLWJveCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgLnNlcnZpY2VzLXNlY3Rpb24gI2luZC0tc2VydmljZSAuc2VydmljZS1ib3ggYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZmLW1ldGEtc2VyaWYtd2ViLXByb1wiLCBzZXJpZjsgfVxuXG4uZm91bmRlci1zZWN0aW9uIC5mb3VuZGVyLXNlY3Rpb24tLWlubmVyIC5jb250ZW50LS1pbm5lciB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mb3VuZGVyLXNlY3Rpb24gLmZvdW5kZXItc2VjdGlvbi0taW5uZXIgLmNvbnRlbnQtLWlubmVyIC5ncmlkLXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmZvdW5kZXItc2VjdGlvbiAuZm91bmRlci1zZWN0aW9uLS1pbm5lciAucGhpbG9zb3BoeS10aXRsZSB7XG4gIGNvbG9yOiAjODU4NTg1OyB9XG5cbi5mb3VuZGVyLXNlY3Rpb24gLmZvdW5kZXItc2VjdGlvbi0taW5uZXIgLmZvdW5kZXIgcCB7XG4gIGZvbnQtZmFtaWx5OiBcImZmLW1ldGEtc2VyaWYtd2ViLXByb1wiLCBzZXJpZjsgfVxuXG4uZm91bmRlci1zZWN0aW9uIC5mb3VuZGVyLXNlY3Rpb24tLWlubmVyIC5mb3VuZGVyLXRpdGxlIHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjODU4NTg1OyB9XG5cbi5mb3VuZGVyLXNlY3Rpb24gLmZvdW5kZXItc2VjdGlvbi0taW5uZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyNXB4OyB9XG5cbi5mb3VuZGVyLXNlY3Rpb24gLmZvdW5kZXItc2VjdGlvbi0taW5uZXIgLnF1b3RlIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gIC5mb3VuZGVyLXNlY3Rpb24gLmZvdW5kZXItc2VjdGlvbi0taW5uZXIgLnF1b3RlIHAge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmNsaWVudHMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmN2Y3Zjc7IH1cbiAgLmNsaWVudHMtc2VjdGlvbiAuY2xpZW50cy1zZWN0aW9uLS1pbm5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNSU7IH1cbiAgICAuY2xpZW50cy1zZWN0aW9uIC5jbGllbnRzLXNlY3Rpb24tLWlubmVyIC5jbGllbnQtdGV4dCB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIC5jbGllbnRzLXNlY3Rpb24gLmNsaWVudHMtc2VjdGlvbi0taW5uZXIgLmNsaWVudC10ZXh0IHAge1xuICAgICAgICBjb2xvcjogIzg1ODU4NTsgfVxuICAgIC5jbGllbnRzLXNlY3Rpb24gLmNsaWVudHMtc2VjdGlvbi0taW5uZXIgLmNsaWVudC1sb2dvcyB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gICAgICAuY2xpZW50cy1zZWN0aW9uIC5jbGllbnRzLXNlY3Rpb24tLWlubmVyIC5jbGllbnQtbG9nb3MgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuc2VydmljZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3Rlc3QtaGVhZGVyLnBuZyk7IH0gfVxuXG4uc2VydmljZS10aWVyLS1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuaW1hZ2UtcmlnaHQge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5pbWFnZS1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyLS1pbm5lciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXItLWlubmVyIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyLS1pbm5lciBwIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXItLWlubmVyIC5zZXJ2aWNlLS1sZWFybi1tb3JlIC5tZWRpYS1vYmplY3Qge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGxpbmVhcjsgfVxuICAgICAgICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lci0taW5uZXIgLnNlcnZpY2UtLWxlYXJuLW1vcmUgLm1lZGlhLW9iamVjdDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAgICAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyLS1pbm5lciAuc2VydmljZS0tbGVhcm4tbW9yZSAubWVkaWEtb2JqZWN0OmhvdmVyIC5zZXJ2aWNlLWxpbmtzIHAge1xuICAgICAgICAgICAgY29sb3I6ICNlODJmM2E7IH1cbiAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyLS1pbm5lciAuc2VydmljZS0tbGVhcm4tbW9yZSAuc2VydmljZS1saW5rcyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJjYW5hZGEtdHlwZS1naWJzb25cIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lci0taW5uZXIgLnNlcnZpY2UtLWxlYXJuLW1vcmUgLmxpbmsge1xuICAgICAgICBjb2xvcjogI2U4MmYzYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZmLW1ldGEtc2VyaWYtd2ViLXByb1wiLCBzZXJpZjsgfVxuICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgbGkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZmYtbWV0YS1zZXJpZi13ZWItcHJvXCIsIHNlcmlmOyB9XG4gIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS1jb250YWluZXIgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLnNlcnZpY2UtdGllcnMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRhZGFlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyB7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWRhZGFlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyAudGllciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZGFkYWU7IH0gfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyIC50aWVyLWxvZ28ge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyAudGllciAudGllci1sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyAudGllciAudGllci1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyIC50aWVyLWxvZ28gaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyIC50aWVyLWxvZ28gaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLnNlcnZpY2UtdGllcnMgLnRpZXIgLnRpZXItbG9nbyBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyIC50aWVyLWNvbnRlbnQgaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLnNlcnZpY2UtdGllcnMgLnRpZXIgLnRpZXItY29udGVudCBoMyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWRhZGFlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZGFkYWU7IH0gfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZGFkYWU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhZGFkYWU7IH0gfVxuICAgICAgLnNlcnZpY2UtdGllci0tY29udGFpbmVyIC5zZXJ2aWNlLXRpZXJzIC50aWVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyAudGllcjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FkYWRhZTsgfSB9XG4gICAgICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLnNlcnZpY2UtdGllcnMgLnRpZXIgdWwgbGkge1xuICAgICAgICBmb250LWZhbWlseTogXCJmZi1tZXRhLXNlcmlmLXdlYi1wcm9cIiwgc2VyaWY7IH1cbiAgICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyAudGllciAudGllci1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5zZXJ2aWNlLXRpZXItLWNvbnRhaW5lciAuc2VydmljZS10aWVycyAubW91c2UtYWN0aXZlIC50aWVyLXRpdGxlIHtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICNlODJmM2E7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAuc2VydmljZS10aWVyLS1jb250YWluZXIgLnNlcnZpY2UtdGllcnMgLm1vdXNlLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2UtaW4tb3V0O1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2U4MmYzYTsgfSB9XG5cbi5zZXJ2aWNlLS1sZWFybi1tb3JlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAuc2VydmljZS0tbGVhcm4tbW9yZSAubGVhcm4tbW9yZS0tY29udGFpbmVyIC5tZWRpYS1vYmplY3Qge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbi1vdXQ7IH1cbiAgICAuc2VydmljZS0tbGVhcm4tbW9yZSAubGVhcm4tbW9yZS0tY29udGFpbmVyIC5tZWRpYS1vYmplY3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAgICAgLnNlcnZpY2UtLWxlYXJuLW1vcmUgLmxlYXJuLW1vcmUtLWNvbnRhaW5lciAubWVkaWEtb2JqZWN0OmhvdmVyIHAge1xuICAgICAgICBjb2xvcjogI2U4MmYzYTsgfVxuICAgIC5zZXJ2aWNlLS1sZWFybi1tb3JlIC5sZWFybi1tb3JlLS1jb250YWluZXIgLm1lZGlhLW9iamVjdCBwIHtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNlcnZpY2UtLWxlYXJuLW1vcmUgLmxlYXJuLW1vcmUtLWNvbnRhaW5lciAuY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuc2VydmljZS0tbGVhcm4tbW9yZSAubGVhcm4tbW9yZS0tY29udGFpbmVyIC5sZWFybi1tb3JlLS1jb250ZW50IHAge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LWZhbWlseTogXCJjYW5hZGEtdHlwZS1naWJzb25cIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAuc2VydmljZS0tbGVhcm4tbW9yZSAubGVhcm4tbW9yZS0tY29udGFpbmVyIC5sZWFybi1tb3JlLS1jb250ZW50IGEge1xuICAgIGZvbnQtZmFtaWx5OiBcImZmLW1ldGEtc2VyaWYtd2ViLXByb1wiLCBzZXJpZjtcbiAgICBjb2xvcjogI2U4MmYzYTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKlxyXG5hYm91dC5zY3NzXHJcbipcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaDMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuYWJvdXQtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9BYm91dFVzLUhlcm8uanBnKTsgfSB9XG5cbi5hYm91dC1nYWxsZXJ5IC5ncmlkLXggLmdhbGxlcnktY2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAuYWJvdXQtZ2FsbGVyeSAuZ3JpZC14IC5nYWxsZXJ5LWNlbGwge1xuICAgICAgbWluLWhlaWdodDogNzAwcHg7IH0gfVxuXG4uYWJvdXQtZ2FsbGVyeSAuZ3JpZC14IC5hYm91dC10ZXh0LWlubmVyIHtcbiAgcGFkZGluZy1sZWZ0OiA1JTtcbiAgcGFkZGluZy1yaWdodDogNSU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuYWJvdXQtZ2FsbGVyeSAuZ3JpZC14Om50aC1jaGlsZChldmVuKSAuY2VsbCAuYWJvdXQtdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmFib3V0LWdhbGxlcnkgLmdyaWQteDpudGgtY2hpbGQoZXZlbikgLmNlbGw6bnRoLWNoaWxkKG9kZCkge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuLmFib3V0LWdhbGxlcnkgLmFib3V0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFib3V0LWdhbGxlcnkgLmFib3V0LXRleHQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDUlO1xuICBwYWRkaW5nLWJvdHRvbTogNSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5hYm91dC1nYWxsZXJ5IC5hYm91dC10ZXh0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5hYm91dC1nYWxsZXJ5IC5hYm91dC10ZXh0IHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAuYWJvdXQtZ2FsbGVyeSAuYWJvdXQtdGV4dCAuYWJvdXQtdGV4dC1pbm5lciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuVGltZWxpbmUgU2VjdGlvblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnRpbWVsaW5lLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAvKiBUaW1lbGluZSBlZmZlY3RzXHJcblx04oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovIH1cbiAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7IH1cbiAgICAudGltZWxpbmUtc2VjdGlvbiAudGltZWxpbmUgdWwgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC50aW1lbGluZS1zZWN0aW9uIC50aW1lbGluZSB1bCBsaSB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhZGFkYWU7IH0gfVxuICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAtOTk5cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgLyogc3RvcHMgYmcgY29sb3IgZnJvbSBsZWFraW5nIG91dHNpZGUgdGhlIGJvcmRlcjogKi9cbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDI1JTsgfSB9XG4gICAgICAudGltZWxpbmUtc2VjdGlvbiAudGltZWxpbmUgdWwgbGkgLnRpbWVsaW5lLWNhcmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA5MXB4KTtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpIC50aW1lbGluZS1jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpIC50aW1lbGluZS1jYXJkOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDdweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7IH1cbiAgICAgIC50aW1lbGluZS1zZWN0aW9uIC50aW1lbGluZSB1bCBsaTpudGgtY2hpbGQob2RkKSBkaXYge1xuICAgICAgICBsZWZ0OiAxNXB4OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgICAudGltZWxpbmUtc2VjdGlvbiAudGltZWxpbmUgdWwgbGk6bnRoLWNoaWxkKG9kZCkgZGl2IHtcbiAgICAgICAgICAgIGxlZnQ6IDI1cHg7IH0gfVxuICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpOm50aC1jaGlsZChldmVuKSBkaXYge1xuICAgICAgICBsZWZ0OiAxNXB4OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpOm50aC1jaGlsZChldmVuKSBkaXYge1xuICAgICAgICAgICAgbGVmdDogLTQxOXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAudGltZWxpbmUtc2VjdGlvbiB0aW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogMC41cyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OyB9XG4gIC50aW1lbGluZS1zZWN0aW9uIC50aW1lbGluZSB1bCBsaS5pbi12aWV3OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2U4MmYzYTsgfVxuICAudGltZWxpbmUtc2VjdGlvbiAudGltZWxpbmUgdWwgbGkgZGl2IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgLnRpbWVsaW5lLXNlY3Rpb24gLnRpbWVsaW5lIHVsIGxpIGRpdiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDsgfSB9XG4gIC50aW1lbGluZS1zZWN0aW9uIC50aW1lbGluZSB1bCBsaTpudGgtY2hpbGQob2RkKSBkaXYge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC50aW1lbGluZS1zZWN0aW9uIC50aW1lbGluZSB1bCBsaTpudGgtY2hpbGQob2RkKSBkaXYge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMHB4LCAwLCAwKTsgfSB9XG4gIC50aW1lbGluZS1zZWN0aW9uIC50aW1lbGluZSB1bCBsaTpudGgtY2hpbGQoZXZlbikgZGl2IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAudGltZWxpbmUtc2VjdGlvbiAudGltZWxpbmUgdWwgbGk6bnRoLWNoaWxkKGV2ZW4pIGRpdiB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDBweCwgMCwgMCk7IH0gfVxuICAudGltZWxpbmUtc2VjdGlvbiAudGltZWxpbmUgdWwgbGkuaW4tdmlldyBkaXYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLyogUXVvdGUgU2VjdGlvbiBha2EgVGVzdGltb25pYWxzICovXG4ucXVvdGUtc2VjdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogNSU7XG4gIHBhZGRpbmctbGVmdDogNSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5xdW90ZS1zZWN0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLnF1b3RlLXNlY3Rpb24gLnNlY3Rpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAucXVvdGUtc2VjdGlvbiAuc2VjdGlvbi1jb250ZW50IC5xdW90ZS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgICAgLnF1b3RlLXNlY3Rpb24gLnNlY3Rpb24tY29udGVudCAucXVvdGUtbG9nbyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5xdW90ZS1zZWN0aW9uIC5zZWN0aW9uLWNvbnRlbnQgaDUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnF1b3RlLXNlY3Rpb24gLnNlY3Rpb24tY29udGVudCA+IHAge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgIC5xdW90ZS1zZWN0aW9uIC5zZWN0aW9uLWNvbnRlbnQgPiBwLnF1b3RlLWNvbXBhbnkge1xuICAgICAgICBjb2xvcjogI2U4MmYzYTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIEdpdmluZyBCYWNrIHNlY3Rpb24gKi9cbi5yZWQtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTgyZjNhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZy1yaWdodDogNSU7XG4gIHBhZGRpbmctbGVmdDogNSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5yZWQtYmcge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5yZWQtYmcgLnNlY3Rpb24tY2FyZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAucmVkLWJnIC5zZWN0aW9uLWNhcmQgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAucmVkLWJnIC5zZWN0aW9uLWNhcmQgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAucmVkLWJnIC5zZWN0aW9uLWNhcmQgLnNlY3Rpb24tY29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnJlZC1iZyAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAucmVkLWJnIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnJlZC1iZyAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgIC5yZWQtYmcgLmJ1dHRvbi1jb250YWluZXIgYS5idXR0b24ge1xuICAgICAgY29sb3I6ICMyMzFmMjA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ucG9zdC5maWx0ZXJlZCB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzLHdpZHRoIC4xcyAuMXMsaGVpZ2h0IC4xcyAuMXMscGFkZGluZyAuMXMgLjFzOyB9XG5cbi5ibG9nLXRhZyB7XG4gIGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogI2U4MmYzYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDcwcHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjN2IwMTA5O1xuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDAgIzdiMDEwOTtcbiAgYm94LXNoYWRvdzogMCAycHggMCAjN2IwMTA5OyB9XG5cbi5hcnRpY2xlLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFydGljbGUtY2FyZCAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFydGljbGUtY2FyZCAuYmxvZy10YWcge1xuICAgIHRvcDogNSU7XG4gICAgbGVmdDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIC5hcnRpY2xlLWNhcmQgLmJsb2ctdGFnIHtcbiAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgLmFydGljbGUtY2FyZCAuY2FyZC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgICAuYXJ0aWNsZS1jYXJkIC5jYXJkLXNlY3Rpb24gcC5hcnRpY2xlLXN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjODU4NTg1O1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgLmFydGljbGUtY2FyZCAuY2FyZC1zZWN0aW9uIHAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgIC5hcnRpY2xlLWNhcmQgLmNhcmQtc2VjdGlvbiAuYXJ0aWNsZS1leGNlcnB0IHAge1xuICAgICAgY29sb3I6ICM4NTg1ODU7IH1cblxuLnJlc291cmNlcy1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5yZXNvdXJjZS1hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZXNvdXJjZS1hcnRpY2xlIC5hcnRpY2xlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAucmVzb3VyY2UtYXJ0aWNsZSAuYXJ0aWNsZS1ncmlkIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDE1cHg7IH1cbiAgICAucmVzb3VyY2UtYXJ0aWNsZSAuYXJ0aWNsZS1ncmlkIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5yZXNvdXJjZS1hcnRpY2xlIC5hcnRpY2xlLWdyaWQgYSB7XG4gICAgICBjb2xvcjogI2U4MmYzYTsgfVxuICAgICAgLnJlc291cmNlLWFydGljbGUgLmFydGljbGUtZ3JpZCBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucmVzb3VyY2UtYXJ0aWNsZSAuYXJ0aWNsZS1ncmlkIHNwYW4uYXJ0aWNsZS1jYXRlZ29yeSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAgIC5yZXNvdXJjZS1hcnRpY2xlIC5hcnRpY2xlLWdyaWQgc3Bhbi5hcnRpY2xlLWNhdGVnb3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5yZXNvdXJjZS1hcnRpY2xlIC5hcnRpY2xlLWdyaWQgc3Bhbi5jYXRlZ29yeS1zZXBhcmF0b3Ige1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgICAgICAucmVzb3VyY2UtYXJ0aWNsZSAuYXJ0aWNsZS1ncmlkIHNwYW4uY2F0ZWdvcnktc2VwYXJhdG9yIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5yZXNvdXJjZS1hcnRpY2xlIC5hcnRpY2xlLWdyaWQgLmJsb2ctdGFnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnJlc291cmNlLWFydGljbGUgLmFydGljbGUtZ3JpZCBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5yZXNvdXJjZS1hcnRpY2xlIC5pbWFnZS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmVzb3VyY2UtYXJ0aWNsZSAuc3Vic2NyaWJlLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8qIHN0b3BzIGJnIGNvbG9yIGZyb20gbGVha2luZyBvdXRzaWRlIHRoZSBib3JkZXI6ICovIH1cbiAgLnJlc291cmNlLWFydGljbGUgLmRvd25sb2FkLWJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAxNTBweDsgfVxuICAucmVzb3VyY2UtYXJ0aWNsZSAjZG93bmxvYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlYXJjaC1yZXN1bHQge1xuICBjb2xvcjogI2U4MmYzYTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uaGlkZGVuLWVtYWlsLWZpZWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG5cbi5hZGRyZXNzLWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAgIC5hZGRyZXNzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5hZGRyZXNzLWNvbnRlbnQgcC5sb2NhdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbiN0aGFua3Mge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLyogc3RvcHMgYmcgY29sb3IgZnJvbSBsZWFraW5nIG91dHNpZGUgdGhlIGJvcmRlcjogKi9cbiAgY29sb3I6ICMzYWRiNzY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29udGFjdC0tY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTAlO1xuICBtYXJnaW4tYm90dG9tOiAxMCU7IH1cblxuI2NvbnRhY3RGb3JtIC5jb250YWN0LWlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAjY29udGFjdEZvcm0gLmNvbnRhY3QtaW5wdXQgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNjb250YWN0Rm9ybSAuY29udGFjdC1pbnB1dCBpbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBsaW5lYXI7IH1cbiAgICAjY29udGFjdEZvcm0gLmNvbnRhY3QtaW5wdXQgaW5wdXQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTgyZjNhOyB9XG4gICNjb250YWN0Rm9ybSAuY29udGFjdC1pbnB1dCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBsaW5lYXI7IH1cbiAgICAjY29udGFjdEZvcm0gLmNvbnRhY3QtaW5wdXQgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTgyZjNhOyB9XG5cbiNlZXNGb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jY29udGFjdEZvcm0gaW5wdXQuZXJyb3IsICNjb250YWN0Rm9ybSB0ZXh0YXJlYS5lcnJvciwgI2NvbnRhY3RGb3JtIHNlbGVjdC5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogI2U4MmYzYTsgfVxuXG4jY29udGFjdEZvcm0gLmVycm9yIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBjb2xvcjogI2U4MmYzYTsgfVxuXG4uam91cm5leS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogNSU7XG4gIHBhZGRpbmctYm90dG9tOiA1JTsgfVxuICAuam91cm5leS1oZWFkZXIgLnBhZ2UtaGVhZGVyLS1pbm5lciBoMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gICAgICAuam91cm5leS1oZWFkZXIgLnBhZ2UtaGVhZGVyLS1pbm5lciBoMiB7XG4gICAgICAgIHdpZHRoOiA2MCU7IH0gfVxuXG4uam91cm5leS1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNSU7IH1cbiAgLmpvdXJuZXktc2VjdGlvbiAuam91cm5leS1yb3cge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDEwJTsgfVxuICAgIC5qb3VybmV5LXNlY3Rpb24gLmpvdXJuZXktcm93IC5zdmctY29udGFpbmVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1vdXQ7IH1cbiAgICAuam91cm5leS1zZWN0aW9uIC5qb3VybmV5LXJvdyAuc2xpZGUtbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgICAuam91cm5leS1zZWN0aW9uIC5qb3VybmV5LXJvdyAuc2xpZGUtcmlnaHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTsgfVxuICAgIC5qb3VybmV5LXNlY3Rpb24gLmpvdXJuZXktcm93IC5zbGlkZS11cCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cbiAgICAuam91cm5leS1zZWN0aW9uIC5qb3VybmV5LXJvdyAuc2xpZGUtZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG4gICAgLmpvdXJuZXktc2VjdGlvbiAuam91cm5leS1yb3c6bnRoLWNoaWxkKGV2ZW4pIC5qb3VybmV5LXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5qb3VybmV5LXNlY3Rpb24gLmpvdXJuZXktcm93IC5qb3VybmV5LXRleHQge1xuICAgICAgd2lkdGg6IDkwJTsgfVxuICAuam91cm5leS1zZWN0aW9uIC5zbGlkZS1pbiAuc2xpZGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5qb3VybmV5LXNlY3Rpb24gLnNsaWRlLWluIC5mYWRlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuYm9keSB7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG5ib2R5LktKRVJlcG9ydEJvZHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbiNLSkVBbGxDb250ZW50IHtcbiAgZm9udDogbm9ybWFsIDEwMCUgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBwYWRkaW5nOiA0MHB4IDAgMCAwOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0W3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50OyB9XG5cbiNLSkVSZXBvcnRUZXh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jS0pFQWxsQ29udGVudCBwIHtcbiAgbWFyZ2luOiAuOWVtIDA7IH1cblxucC5LSkVTY2hlZHVsZU5vdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmRpdi5LSkVEcm9wcGVyOmZvY3VzLCBkaXYuS0pFR3JhcGhEcm9wcGVyOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICM1OTdCQjI7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbi5LSkVGb250VGl0bGUge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLktKRUZvbnRIZWFkaW5nIHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLktKRUVycm9yIHtcbiAgY29sb3I6ICNGRjAwMDA7IH1cblxuLktKRU1pc3Npbmcge1xuICBjb2xvcjogI0ZGMDAwMDsgfVxuXG4uS0pFVGl0bGUge1xuICBmb250LXNpemU6IDEuM2VtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRlVBQUFCVkNBWUFBQUE0OWFoYUFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFBbHdTRmx6QUFBT3dnQUFEc0lCRlNoS2dBQUFBQmwwUlZoMFUyOW1kSGRoY21VQWNHRnBiblF1Ym1WMElEUXVNQzR4T2RUV3NtUUFBQk5oU1VSQlZIaGU3WndKZEJSRkhzYmxGa1ZGeFdPenV1N2hzYnZ1dXJldXEyOTEzejR2VlBCQ1FFRTBnamZpZlNLaXFLQW9LdUNCSUlpQ2lCS01Jb2NpSWtaUlFKRkQ1SkJMUkFPRVF3ZzN5ZFIrdjdKclhxV3BUQktZeE9ETy83M3Y5VXhQZFhmVjEvK3pxbnQyeTBoR01wS1JqR1FrSXhuSlNFWXlrcEdNWkNRakdVbTNHR05xZ09ncjMydTZmZEZuVUd2SmtpWDE1ODJiMTJqQ2hBbFpRNGNPelJvd1lFQlczNzU5czU1NjZxbXNuajE3Mm4xanhvekpVcnVzUkNJQjl0ZHh0VGxQZEdvcm5FKy83YWZ0N3ErOTlscnRhUGRQUnhod05QQ2EwZmM5aEViQ1BocjRiN1pzMlhLQ2lEeDc3Tml4bCtmazVQUVhDZmt2dnZoaTR1bW5uemFQUC82NDZkNjl1M25vb1lmTWZmZmRaN2VQUFBLSWVmYlpaNDNhbWJmZmZudmgvUG56NzlKNS9pTFUxem50allvK045UDJwUGZmZi8rQXhvMGJ1MnZYMEEyeTRQc3VKeUtxbmdZQmdYV0VXdXpUSU91SnhHTldyRmpSU21RTW5UaHg0dUszM25xclFBU3RHVHg0OE9iKy9mc24rdlRwWTNyMzdtMTY5T2hodW5YclpycDA2V0k2ZGVwazdyampEblBMTGJlWTY2Ky8zbHg5OWRXbVhidDI1dEpMTHpXdFc3ZmVxallGYTlldW5ieHUzYnFPYTlhc09aN3JjajJ1NjY3dEM2UzJiTm15WnBzMmJlcEV1M1lOZ1VBTnFLN1FRSjhQMnJScDAvR3JWNjhlK09XWFgzNDlaY3FVVFI5ODhFRmkzTGh4WnZUbzBTWTNOOWU4K3VxcjVxV1hYakxQUC8rOGVlYVpaOHdUVHp5UjFOSjc3NzNYM0hYWFhlYldXMjgxTjl4d2c3bjIybXZObFZkZWFTNjc3REpJTmNPR0RkTmxqQ2txS2lyV1RWcy9kZXJVNFVPR0REa3N1ajdFMm0zVU5VdXF2OTFsUklQWVhXUWVKclNXOXJ5d2VQSGkvRGx6NXBndnZ2akNmUDc1NSthVFR6NHhJdGE4Kys2N1p1VElrV2I0OE9GR1JKZ1hYbmpCT0cxOTdMSEhUTmV1WGEzcGQrelkwZHgrKysxSlY0RDJRalRrNnR5NjNBK3llZk5tOWllYU4yOCs1Lzc3Nys4cURUNVpmVGhVK0lkd3VKb2tDWFdmcTcybzQwZXFzNy9ROWhwcHpXY0ZCUVZibGk1ZGFoUmN6S0pGaTh6Y3VYTXRzZEltOC9ISEh4djVQSHlqZWZQTk41UGEycTlmUHlPL2FrYU1HR0hrSW94Y2lWbTFhaFdjbFNtNmdhWjkrL2JtekRQUE5QS2x4ZExtNWJwUlBiWnUzUXFwSjJ6Y3VQRlEzY2c2MHZCNnVJQ28yOVZiMVBFL3lneDdGQllXYmxpNWNxVWxROFNhNWN1WG0yKy8vZFpxRmNUT21ESERmUHJwcHlZdkw4OXFxM3lySlJHU2FiZHQyelpUWEZ3Y1VWViswZld0dHNwbm0rZWVlODc2MzNQUFBiZFlSSC93K3V1di8xbE44UE0xNUZKcWF0OTIvcmJhaVRwYlc5cjVtbnpubHUrLy85NG9jQmlSYTJTQ1ZvTWc5cHR2dmpFTEZ5NDA4cTFXVzlGRWlNUWxjRXlJU1BiSko1c0ZDeGFZVWFOR1dTMVd1bVczMHNDb1ZWaldyMTl2TlYwK3VqZzdPenRmcm1hVStuaTBmcW9qOG44ZmRiMTZpVFRqQUdGLzRYY2k3MTVwNVhvSVpEQVFnZGF3aFZ5UmJmTHo4NVBhT24zNmRBczB1alJCeXdsbWp6NzZxTG43N3J0TEJLc0hIbmlnQktsY014WEpXTUFiYjd5UmtFWGtxWTgvbzkvUk1LcVhxSytOMUxtbUltMkpmR2NDRXRCUSthNmtDYlBkc0dHRDFVU25yVjk5OVpVbGw5OUN3bjVsQ2ViSko1KzB3YXB6NTg1SlVtKzg4VVpMcWdpS1d2OGdwR0drWFp3N2xhZ3YyOVNIWjlXZm82TmgvUGlpZnRrcVJxQVMrck02TjBkQktFRkFnbFRNM1NjVjdZbVRxbHkxVkovSmNhUmJpdERKRENCRUttN0VDYjViZ2NjMGJkclV0R2pSd2t5YU5NbjYxOUpFMTk2cVBueXFmbDZuci92aVk2UGgvVGlpenU0dDFCTU9rK21PbVRWclZnTHRJTUpEbWpOL1RGLyt5MjZkK1M5YnRzeWFlMm1FSXBNblR6WXFUMDJ2WHIyQ3BHTCtwRmErY0JNdXVPQUNTK3JaWjU5dEN3T3VWNWFvelRvRjFvZjEwUllNUDVxb0EyaG9JL25LSjBWb01YNFJINGs1Zi9mZGQ1WTB0QkppQVlSQ05GcU1obW9RakNjbzNKaUJBd2ZhVWhSUzhhVVFHTmRVQXB3VExPSEJCeDgwNTU5L2ZwTFVzODQ2eTdiSG42Y1M4bVZsSUN1bElFZEV3NnQ2VVQ5cXFRUDdTL3Q2VEpzMmJUTzVKbEZjNUZwZkJpa1FDNEdZSk5yQ0ZqSUpVbWh1YWNKdlJIZVZxN2Fxd3A5U1ZVRVlwSkxzNHpQdnZQTk9ldzBuWEt0VnExYm12UFBPSzBFcW4vSExxWVFiZCtHRkZ5WjBJMXZyNjhIUk1LdFdkT0hhSXZWWXBUZXJ5QytwaXZCZkl0aW1TUkQ3OWRkZkcvd3JKR0x1RUlBZlJZTjFyQjFNU0NCbjhPREJOdm5IbjFLcVB2end3eVhxLzV0dnZ0a1M0V3M3UllPSXNhUTJhZExFa2tyeUQ2NjU1cHBTWFExOTRXYWNkdHBwNXJycnJrTUJib21HV2JXaXZ0UVNlYWNvMy91ZVZPZTk5OTR6SDMzMGtkVUkzQURFa2hlU1UrSU9JSmd0My9HdHFZUmlBTk1uYWZmTFZKV2J5VEwxcHB0dUtxRjlCRUQyNFUrVjVHOUhLcC94MFNHaHZ4QUt6ampqREs0MVdydXJMbURwWXJaT2xuODhjTXlZTVI4eWlVRUZSSWxKOGc2eGRKNGtmdWJNbWRZZHpKNDkyMUR2czZWRUxVdVlBM0FUS25IVHh6L2VkdHR0NXA1NzdyRSsyZ25uYjlPbVRaSlVTUFJKVmFscXB3dmoyc3AzZkxVakZaeHp6amtVRlgrM0E2NEtVVDlxU0NzYWlMRCtxcytMWG5ubEZUc0pRbm41emp2dm1QSGp4OXVTRThlUEp1Rm5JZGdCbjFxVzVPVGtKTFdVbkROdSt2aFRYSU52K2t5K05HL2VmTHNnNVVoRkE1bkppbHNKdnA0TXdTY1ZYSExKSldQa1RxcW1mRlUvYXNwSEhqRjA2TkRGYUJNVEgvcHNWRTliWXRGWTBocTBGbktKemhBTTBHQ3lnYktFR3hXZjlrTkxuZWtUOWZIZlRqRDlLNjY0SXVsUDQ2U2lwWkFLTUhWZm1IdGdmNXhVTkY1KysxZlJzQ3RYNU5UcnlYLytWd0ZrR2VrT0VScGlJUUlOWTVhSnlBMjVZOGVPdGI0VzdZWGtEei84MEJZRFpRbkg5K3paTStsTG5aWVM3ZEZTaVBVMURvdTQrT0tMVTVxK0k1V2I1UXNUNEhGQ0hlUnk1a1hEVHI5Z0J0SXk2N2hsdm9mSjFDYktMSXN4VDh3T2pXVlNnM2xRbGpkd0I1Q0w1dUlmQ1dUeXYzWVdxcXdnaFJEa1dFTEI3S25yZlY5S01PSTZmdmFBUnFjeWZaOVVDZ2JYQnpTYzQwS0VBbFZtUlFxYVRTMEo2UmFWbTdzcngyVFd2SzRpK0N0S3hJc3dTd1lEc1dnc1BvNklUU3FFMWtJdVFReUNjUTBBRFN5dHh2ZUZRZ0dOY21aUFVISytGRkl4V1NjUXhNeC9zMmJOZ2xFZk9FSUJxUlA1TXNKOEx1U0hDQVhjRFBuaDVoRU42UlZkbjZVSTh0Si95VTl1Um5zd1M0aEZvOGdYSVlIZ2d0WkM3cUJCZ3l6QmFKVURCS01kNVJGTW1oUUtRcDNaNDB2UldPWVVuR0FOVGt1SjJxbE0vL1RUVDdja2tpc2pXRmVJVEIrTVF4U2tmMlZBMTZjY3JhdG8yMDRhbWNDL01XRFNIRXdVMzBmcWc5WkNMaTRCellWZ2ZDNUxJNEFPbGlmNkk2UTZCRUMzSmdXaHpPU1Q0RHVoOUlUMHVKYkdvNzVQS3VCYzlKM2pRa1E2bkhycXFiWm9FQVdWUm1wdGxaNHRaSVlKQmdxeHJCR2h0VGg3dEpiMEIzTFJYSmFXZ1NNWm9NbmtrK1VWM0FDV2dNbXplZ3FjbGlGOFZ1cFR3cGVtMGxLSEVJRWhRQ3BiRlM2ZElpclNKK28vcHIrZkluaG5wUmtKQWdiRW9pWDRQS0l6L3MrUmkrWkNCajRYa29ua0VNMW5BcGdmWk1vU0ptQTRKeHJEYWlwRU8wSDdJVFRrUzMxQ2Q0WlVJSXZwSDFHUlBsSC9keGYyMFNDZVExc3dIMHlTNElHUFk3Q09YTXdLZnd2QlZEQVFFZ2N6N3hVUi9EQ2FqbDkyUWpYRnVsTW9MMDFGYW9pOEVCeWhRQ2xjcFpCYVExRy9nZnpvZUNhRjhXMmtKaTVuSkpCQXJ0TmMzQUlFNHhwQ0lLOHRhMDBwTHN4YytkTjNWR2NrK3lHekJ5RkNkNVJVS2NjNldVekRpSTcweWJScDAvWVVlZSt5dm82R01KdlRvVU1INis4Y3VVNXpxWHp3dVE1b3NnUGZJWjQ1Z3AwUjBqZy8ycGVtcFR0TEtDQW9MMXk0TUwzcldCcEREWldaRGVWUEoxNSsrZVcySkx6cXFxdnNVZ1phNjhobE9nNjNnTTkxR2d6d3Z3NThoM3lJWllKbFJ3VjM0RWhOcDltRE9La29qVXJ2OUpKS2FUcC8vdno5cEtFRGliWWsyMjNidHJWUGhUaHkwVno4TFFUamN4M0pkQ2dPOXZNN0JEUHZXcEhBNVlUSmxBa1RKdGgrbEVYb3ptaHBwWkdxTWRSVk9uV2dDT3gvMFVVWDJka2VwdG15czdQdEEyS1E2OXlDSXhnTmRtbFFIUHdHYUlkbU04bXhJOFJ5REhrdm1RZWs3aXlob0NwSnJTV2Y4bk9ST3ByZ3dHb2xFeGlPWERRWHQrQUlSbnNCSkFQU0lRZTN6N1hCbFVBMFd1ZFA1VlZFS0gwcGk4a0UwazBvcUN4U2F5alJQbDBtdTQ2OGtFcUUwdENSU3oyTlcyQmVFb0xSWU13U1FIUWM3T2NtMEk3MjdzWlFmZkdzd0k0SVdzdEtBemMxM2FRcXVCYmgvaUk2MGlQcWM4MlZLMWQybGE5TWtNS2dFWTVjTkpmMWRkeUNJeGdOaG1USUFwRHQ0UGJ4Tysxb3o3R0FtMFFRWTNVZzFkSjFLbUcrbGtDSnhvYUlTNFVRb1VDcDR1VDgvUHc5SXpyU0krcHJMZVZwSGRYWkJOR1c2b1hJU3lVRHVjeGpRaTdhQzhHUUF4eFprQTNjZDBjZ29EM0hjWU00RCtkRGE2bThkbFNvdXVKTEpHVWhSS2FEOHU0dU9tMTYxNngwd2hveXkrT1VaeGE0dk5DUmkrWkNMdHJyYTdBRFpNZmgvMDU3anVNY3dDWHpuSnVLcktKRmdoTW13OHRMYkloSUQ0bEJnd1psNjVUcG5WVGhoUEpaOVhYSGhyajB4U2ZYSjlocGNKeG9CN2VQMzJuTE1jRFY3ajZvME1vei8xcWFNTmRLK2hZaTBpRkFZZ21vellvWk0yWWNGVkdSUGxGVTNrTTRNRGMzdDdzakZaQjBnemdaQUpMS1F1ZzRkMDdPejF5cEU1NGQyQkUveTVJNDE0cVQ2UkFpMG9lQzZYUXAxQUVSRmVrVGFRdlBUUDFXcG5pK0FzeFNuMWdmamhCOFpJaXdPRng3UjZJUFhJTmJnb1pNNW0xSmJYZzRvNkx5OHNzdjd4Q2h0T25kdS9ka1NOVnAwbXYrT3VsK3dwbkNQL3IxNjVkUFpLVjZBVDRSbURPUCt6RHhRYVQzZjZzSU9DOFQzazRJUEFReHJrdVE0eW1ZaWdnRmduc0NwYnlFQXQzc2JTTkdqT0FKdUFaQzJuMHE2MU1uQ3IvT3k4dDdWZVpVekFBZEhNRlVVMjY1aE5Rb1JGZ0k3bmpBK2JnNXpFSTVZV1hXenowaG1PVVczZVNvUldwQjA1azVxd2loUUtuZk9xV1NMWFFkWG41TE82bDFkR0xlN0RoY2Q3MnhJdmh5bjFRSGYvbVg1UlNmckJCQzV3QVVCdTdtRVAzSk8zMVNJWVlzd244dXRTeGhKYmNpaElJK2ZmcmtZWjJWUXFwT1dsLzRnM0NjY0t4ODFLZ1FHVlEwVGxqdlQwVmNLckFhNjRRbEV6VFRKOVFCRjhQS1FIbUVvaUJFWEdsUWhySng1c3laVjJpOGZ4TDIwaW5TVHVxaENsWW42OFM4d25QczNMbHpyMVkxdE43WEhzckRJcTkyWjFxUHFCc2lMUVIzSGdqa2dXRW5QRGZBZnA5TUIvWmpFZVVSMHFzUWVhV2hZOGVPVXhVYmp0T2grd3JwZjY5VlJLS3BMWFh5TzdROVhxYVpKVk4vV1FNcmRtVHdsb2grby85V0NGYStocFVYbUxxZjhEUGhFaWZUQnptdVc4ZFBKUlVoVlFHcVNJclRTdU5CUTFuMFRLK1d4a1VYK3BNdThsdlY1L3NybVovS3dFaVBlQkF0THF3QWhJaExCUjY0Y01KY0srZU9FeGtITTFSbFNYbk5YMzBvN3R1M2I0N0d5VnNyZXduMkJlSm8rSlVqdWdpdjlSeWxDOVZVR2RoZW5TaGljc1EzZlNjOE8rV2J0a09JR0lCbXUwZHlFT3IvVUxzNFdCcFhuNktqd3NLVDNpRVM0MUNRbkZOUVVQQlhIVUlhdFk5USthKzA2eUo3YUFCWjJ0WmF0bXpaUVIwNmRKakZ5dzRob1FwaTBpUkVSQWdzYWZ2a3NJb1FhaGNIS3dobGxiTmtKaUVTZmFqZzJEUnUzTGgyYXM1Yk4zWUZtVEdQSHorK2NvblZvREdKazRRamRORjlaZlp0UlY3d0xRVUd5bUpmaUlnNHlGZDUzTklKNlZLb1hRZ3N6S1VxWWZIdlRKQ0hpSFRBb3FRY0l6U3V2WFVJY3gyLzBaYjhuRmVhME5qS2N3RzZHT2JQdjBIZ2N3N2xndXIwR3lJd2FIOWtBWFE0UklZUDVsaWQ2ZXU4OW1tV1VMc1FXRmxOSmJ3eFF5WVNJaFBRdjE2OWVzM2V1SEZqOGlVMUhaWWswZjljSmNJRlJjS1JXN1pzbWFYdGRzVGlhMW1XRHBIaGcrZW1uRkNXc3VRU2FoY0hwSkFUbHlhdW1vb1Q2U0JDaTd0Mzd6NTc5ZXJWSjBaRCt2RkZQS0s1QndvbmlGZ21IN2F6UXg1WnBCQUlrUUtZQ3ZTZmtVS3pjQWVodGc2T0ZEVFFmeFFvTGxnS0V6WStrUTRFMlM1ZHVveGFzR0FCR1UzMWVaTWFRdFdodndsMTlma1FFVHRBMnJuZFMxSWs2YVZGZmxaVS9keVVaN0ZDN1lCUEN0OTViTE0wZ1d6bUkveGpJaVRVbHhXZE8zZnVxWnliL3lXb3ZuOWFJMUtQa1cvOW1YelRTeks3RWhwTHNHRHFMazRTb0M1M3dzSWZNMUgrN3dGU0xKZ2pLQzN4NTNvOFloUTRya2hXa3llWDBGaDlQVng5Smk0MGlJWlEvVVNkKzRYQUU0S0hxTU5EcEgwbDhoeGVTb3VuU1V5TStPWkxFVUhnQ0pCUkFxd2k4Qmg3U01nNmVCQU95NGdmcHhzMmZkaXdZWCtMdXJ6cmlNYkZuOURzSlZkd2p5TDZITjhkOElvTmEwY3VJK0N6cjlROGJoa25JZzV1QkMrd2hZU25yRm5iaW1sNFF0cFpxSHgyMW9vVksxcXJiK2xkYnE0SzBkaHNDcUl0V3ZzcnVZUE9JbTZOUGx2SFNVYkE2MEJvTFpXT0UxSXFhbm1QakJJZzRQQUFuUDgrcWhPMGs0RElYSUYzVEVMSHJGSW1NV3pTcEVrdFZhb2VyS2FWWDh0WHBqQUFFVW50M0ZCYSt4KzVnN2JDUE9kdldmR0VEQ2VVdGRUNi9nUTIwUjNOSkhqeGZ5aCtlNFJUTWJPUC8zUlJYbHFLWnE1VmtIcFRwdDZrc0xDUTJUVjhaNk9vYXo4ZDBhQnNwU0lmK29TMGNrT2NJTmFrV0NyNTdMUFBrdUI5MW5nN0ovaGZYZ2htenNCcFozWjI5c1p1M2JvTnpjbkpPVVZOK0hjMi9vOWdUK0Yzd3BGUlYzNDZva0h5bGt2RGFLRC9FZnFJeUlYYUZvcmtSR25rSWFSY1BJSE5NZ3R2bGZEb2tHcjFZbVVBbTlxM2I3OVVGZEhIK3UxUjNiQi9MMXEwaVAvQzJsT0hWZCtvWGhtaUFWTlRVMXZ6M3l1bnlEMTBrcStsS2l0UU1Gc3JEVjAxWmNxVUF2bmU1UU1HREZncEZPYm01aTRlT1hMa3ROR2pSdzlYb0Jxc3BQMlJKVXVXTkZON1pzMGFDa3oyMUk4dThmOHRJb05wTnZzdkZ5TGxLT0Zmd2pGODFyNWZhbnUwMEVUNFp3Uit3NXhaTzlxMS9xZXZxa1RrdEJVdzExMDNLbWNrSXhuSlNFWXlrcEdNWkNRakdmbC9rZDEyK3g5YzhKZE84cXJYa3dBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04cHggLThweDtcbiAgYmFja2dyb3VuZC1zaXplOiA4NXB4IDg1cHg7IH1cblxuLktKRUNhbGN1bGF0b3JUYWJsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiA0cHggMCA0cHggMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xuICAtbW96LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCB3aGl0ZSAwJSwgI2U5ZTllOSAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCB3aGl0ZSksIGNvbG9yLXN0b3AoMTAwJSwgI2U5ZTllOSkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgd2hpdGUgMCUsICNlOWU5ZTkgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCB3aGl0ZSAwJSwgI2U5ZTllOSAxMDAlKTtcbiAgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgd2hpdGUgMCUsICNlOWU5ZTkgMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUgMCUsICNlOWU5ZTkgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZTllOWU5JyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSAqLyB9XG5cbi5LSkVDYWxjdWxhdG9yUmVwb3J0VGFibGUge1xuICBwYWRkaW5nOiAwIDA7XG4gIGJvcmRlcjogMDsgfVxuXG4uS0pFQ2FsY3VsYXRvciB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uS0pFQ2FsY3VsYXRvciBwIHtcbiAgZm9udDogbm9ybWFsIDAuOWVtIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uS0pFQ2FsY3VsYXRvciAuS0pFTWFpbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5LSkVJbnB1dHMge1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5LSkVOb0phdmFTY3JpcHQge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjNjY2NjY2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbmRpdi5LSkVCdXR0b25Jc1Njcm9sbGluZyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG5kaXYuS0pFQnV0dG9uSXNGaXhlZCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3gtc2hhZG93OiAycHggMnB4IDJweCAjNjY2NjY2O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAycHggMnB4ICM2NjY2NjY7XG4gIC1tb3otYm94LXNoYWRvdzogMnB4IDJweCAycHggIzY2NjY2NjtcbiAgbWFyZ2luOiAwOyB9XG5cbiNLSkVTY3JvbGxTdGlja3kge1xuICBsaW5lLWhlaWdodDogLjllbTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cblxuI0tKRVNjcm9sbFN0aWNreSwgI0tKRUZpeGVkLCAjS0pFQ29tbWFuZEJ1dHRvbnMsICNLSkVSZXBvcnRCdXR0b25zIHtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDQwMHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uS0pFQ29tbWFuZEJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIHBhZGRpbmc6IDRweCAycHg7XG4gIG1hcmdpbjogNHB4IDJweCA3cHggMnB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDE4MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjYmJiYmJiO1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uS0pFQ29tbWFuZEJ1dHRvbjphY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMnB4OyB9XG5cbi5LSkVNYWluIHRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIG1hcmdpbjogMDsgfVxuXG4uS0pFTWFpbiB0aCwgLktKRU1haW4gdGQge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5LSkVNZW51IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQjRBQUFBZUNBWUFBQUE3TUs2aUFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFBYWRFVllkRk52Wm5SM1lYSmxBRkJoYVc1MExrNUZWQ0IyTXk0MUxqRXdNUFJ5b1FBQUFIRkpSRUZVU0V2dGswRUtnREFNQlBPWlV2QUhmYkJIOFdXK1lac2NGR0lMUXEzeHNvZTVMRXNtaDBRQVNGa1BSR0xPY09uSkpiWXRJcUJZczM1eE5vL2lsSGVrdkx4aVUrNXpLVzRLdjRtL2dtTE5mSUZYUFFMZnlhQllNMS9nVlkvQWR6SW8xcXhmbkUwampzWnRFUVVBcWRrREdBU29kVE82QUFBQUFFbEZUa1N1UW1DQyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMTBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuI0tKRU1lbnVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4jS0pFV2FpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhnQUNBQVBNQkFJQ0FnUC8vLzRHQmdZS0NncGlZbUt5c3JMMjl2ZHZiMi9mMzkvMzkvZWpvNk0zTnpjWEZ4ZlQwOU83dTd0VFUxQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL2hvaVEzSmxZWFJsWkNCM2FYUm9JRU5vYVcxd2JIa3VZMjl0SWdBaCtRUUpCUUFCQUN3QUFBQUFnQUNBQUFBRS96RElTYXU5T092TnUvOWdLSTVrYVo1b3FxNXM2NzV3TE05MGJkOTRydTk4Ny8vQW9IQklMQnFQUllUajhGZ3dERkRHNG5GUUlKQkV4SUZSSUF3QTRMQllUQ0FVRmdxc0xuRXdFTWJ3ZU54OHVLcGpDVVZYenUrTEJ3VUhDWGNzRFF4dmZvbUtBd1lOaENkNlg0cVRpd1ZwanlFT0JaU2NuSmFZSFFnR2twMmxpZ1oyb0JjUHBKMERaZ1ZRc2dWZGlLVURENE9xRXdpYm5HWUxCNDRkQ2d0N25zT3FDcmFKQkF3SEp3NkhsQVBRb0F5dGZJeVhLd3B1a3d5NmFnbStmZ1FMcVM0SkQ4eDhCY2xIRGUxemdqWUg4M0FFOEVUeWZnTUw0bTZ3TXVmQWlBTjhZZ3FreTlITFg4RWgvYlJaKzNHdkQ0R0hRQ0xLS1lBUlNFTSsrditBSkVBSXhrQkFJUXdzTGx4VERzNENMQXV5SlR5NUkrV1lhbmNPeUF6RElNaEFNRGdKNmVRejBjY3lNRVZ6N2dRd1lCK1BneTlWTFhCSGMwZFZRamJqUE5oVnBPV2ZsVng3SUZocUlPeVFBM0lHZERUcncydVlBbXlEakpYRExXNlBCeHZ0QXNIWFZLOFB0SEhLK3UzQjkrcGdHbmpqSkZYQjVMQ0drWEhndGtEZ3hhbmpDUWJpRERCTUlqTUF5WmN0S0pDejJNVG9NS1ZENHdPTkFuSVlBbUF2WnlXendyTVl3YUVwbkliajFNRURBN1E4S05oWk4zY0FmSUtLZFNHbDFnTkNBc1lwdUdXNnRHZUgyUzZqQjlEMGkvT0VCa3VCcm8yYng1aVhVc1V6VEIvRG1tdURMY3ROaGNHOUlYR2lyV2JYbDRMZEFmeWt2bUg1SjUvL0dPbGhvRjlrYkUwMVlFa2VBTVpKYW8rUXRFaHNGVkMySDRWM09CQmVJaEJXWUZzbjlPMkNIU1h0WmJDYktRVSs0aG9uQUc2d29pblFtWFhpSkZGeDhLRjhOWEoxSUJ3bFlqRGNndUtaWmVFaTQyRWdvU2RzT2VpSGRSeU0ySWtaQmh4UUpDZzdBa0NBZHhJSVNBMHc5UXltSlYwZVZBa0hobllwS0VlSUdkaVhUd0hFYWZjY21Wa3l4NlV1K09RWW1vWnhwR2lCR3dhZ1VkVjBQVG8ySXBvbW1FbWJkaThPQUNjSURvQ3AzWWtka29BUGs5SDVFdWdKMDhXb0hXVXRzcUFrZ2RwSmNJQ2RLeVN3RTZHaHRqQ2RvcW5LOEdrWXBMWmFLajVYeWdxRGt3QkVhaXNKWDc2RzVhNGlyQmNyc0thbHRTaXhINngzS2JJaTRLa1kvN01xM0JoR3A5Q1NNRmRrdjFhcndhdnpoWFVzRGZvTkM5TUFldUl3NUxPWURBV0F1RGpNK0lldVFhakxJQkM0TWdYdlh6SVZrSzBNQjdMN1EweHk4T2ZEdVlIdGUwTzlWbjRiZzBhUldjYkRSd0U3ckVPdk45MDdRMFhhVFBuVWtRcUp0U081UmpDc0dVQTYvQVNTeGorSVRJL0JKbUJza2NSQmtLUElPUXFIc002UllMenpDRGFMR0ZEdUNON2dERVk0b0J3MWlUTS9jeUNOMEVCWlBBVEVSNThoakhEbWRhS3pXZkkrQ1lzc1VOQlN4b2JhNUdJWEFqd0RhWFpKTmF1aENkaG45L0ZKYUpHMFRjM2IwUm5DTkpDTW9IeFpIc2ZJRFZRQllpUEx4amRtQS9KQTJ0RnB3Y1hkcjV5UnRMWUJLTUdFRTdKSVFZVVZrR2V1K1JEbW5IZnUrZWVnaHk3NjZLU1gza0lFQUNINUJBa0ZBQUVBTEFBQUFBQ0FBSUFBQUFUL01NaEpxNzA0NjgyNy8yQW9qbVJwbm1pcXJtenJ2bkFzejNSdDMzaXU3M3p2LzhDZ2NFZ3NHbzlGaE9Qd1dEQU1VTWJpY1ZBZ2tFVEVnVkVnREFEZ3NGaE1JQlFZQ3F3dWNUQjR4L0E0M0h5NHFtTUpoVnZPNzRzSEJRY0pkeXdOREFSK2lZb0FBd1lOaENjS0JWK0xsWDZBYVpBaERwT1dub29GbVpvYkNBYVVuNmg5alhhakZ3aUlxQU5tQlZDMUJWMXZud01QZzYwV0JwVm1EQWVQSFFvTFhaNEZ4YjRUcjM0RXd5Y09oNmVYQjgwVUQzS05vaXA2c0pjTXZka0ZZd1FMckM0SkQrRjl5OWtCRFpRRWdqWUg3bklFekw0TEF3dmtianl3Rm9lQWczanFjcFFpT0diQXdYZys4UFV4Q05FSEFuTjg5bFgwd1dCaXdvMDQvL3p4S1JBUUpJNERETU13TU1rREpUZHNQUXg0OCtVeXpnQitOeTRDV0ZCeHdjaVNOQlRBS3JDeG81d0hPQWFHSVFEVUYwWTRBejdDWUVEd0lVUUVLUUVZb0tFVERzK05OUnRhZmVFZ1g1aXRJSUhGSVFvajdCeVRXRzNPVkVIVkQ4NTQyOWEyU1BDMEQxS1RaaG5kTFZGMkVWcVFCK1FjUHVFV0dzc0FnUWMwRFNHeVVsU1dlZUhBSk1FWDFlYU5DUUt6SGRFZ3NLTEZHOVUybkx4Qllpb0NqeFdrL095aGNpckpqd09qM3BEQVZDb3hjeUVhUGZlaDlPOHhLMWtxa0RQWWd0RGp4SFBIb1gxQktmUS9ySnYxVmNtaGdZSUhUN3BrclJROG5rODRvME40QisvYlVuS1RpZCtlaURzbjE1ajBHK21Qa1FyQ1FjRUo2NFZYeHY5amtNVlIzZ2Z4UlVkZ0JvRlJGMEptWXVDM1lBWGJnZkZYQ2VmZE4yRUdGZTUwd25CaTdMYWhCS3FKOFI0SkpaNDE0Z1VwZ2lFaUNDMXF0ZUl2Y2J6NFFZdzJUb2pqaHpYT1dFR01KNDZRWVlRK1V0RGhWeVZBR0lhRThaUkJ5d0pWbE5UaGhTUWtTQVpMSGNyeVpJUFQvR2VTa3BVc29FQjJwS1JFcGlZT2pLZUlsZ1pBT2FZSGdSM29pMm0vQmNsZ0hIYkcwK0Z0RG1JUUk1UFpESGtjQVhKYUlDZ1lzSm0wM0hVRjhKZEJtZ2F5cE9acFoxNFFXSjdsL0RaQW54M0VtQ2hJSUZwQ3FBbFdBcWNvS3ZDWWtFQktPWTZ5cWljR1ZNcEJqSmVCdEtkTlNLSlFhaGk1Q3JmSXFDdUVWcENzYXV4YVVITW1oQm9HcDY1T1N0TC9DL01NQ3hLZHU4aXdaNi9aeE1nSXN5a3NDcFdqbWhoTEVRMTdBanFLZm1BOFd3T2swMjBVemdEajRLRHRUUldwdGFrTzZKSkJyQkhiakt1RHNTNUMxRUNqUHR5S2JaRXJQR01UdHdpWElOdExEYitnYkJqM1J0ekNyZjlZeklMQ2l1MnJzUWJHWllUc3h5QkV5MGZGSkp0UTJEdmd6dUR4RUNHZkRKQU83WXpWU3N3WjJWT0RhK1lTMGxraTZMU3NhanRqVU5sTVhZbDAwd0k0QlFtdHhuTy9vakZOTlgyMFNraFh3UlFBNWNnVUhKUE1tb1ZDMGxnd3M5UUN4UzFsVEtvUFhFaGZCOTBxanpuUW50dW9ocDJOSkdyVFRYRW9QaHBDcDk2TUdHRHpqSG5zQVRnWWdQQ1NNaHVHdjEzQUEwNDNyQVVYOWwwaWpOMHBPN05FSEJOUFJERkZGWkZuTHZyb3BKZHUrdW1vcDY3NjZxeTM3am9XRVFBQUlma0VDUVVBQVFBc0FBQUFBSUFBZ0FBQUJQOHd5RW1ydlRqcnpidi9ZQ2lPWkdtZWFLcXViT3UrY0N6UGRHM2ZlSzd2Zk8vL3dLQndTQ3dhajBXRVEvRllNQXhRdzJKeGNDQ1FSTVNCVVNBTUFPQ3dXRHdnRkJnT2JPL3dIYnZmNDBIaGNWWGZIUEM4SGlCL0pPdzFCSHVEYndNR0RZQXlCWVNNY1FVS2lTOFBqWlJpajVFc0RXMlZsSVoxbUNpQ1lXVUZCVkZRcFFSZW5IeCtvQ2NHWndlSUhRNExYWlVGdEs4NkRneXJoQU1IdkQwS0JwdDZobitZRGI4OENRK2llN3FBQ0xkZkF6OEgwbmtFdTBrUEJjZ0VRUS9JYndScFJBZkg2RUlJNHNucVA4Ym5Zd1hyOW1McFBRNEczSG53WlZuVTdWdU5CcmNvR1RqQ1FBK0JUeklRaE5PM2h3R1NCUlFCRkZnRzQwQThWZ0QvRm1CaGsyZWhDM1laR3cwYlNYRUFKQlgrQUlJRTg1SWxuQUVHUzNpYytXWWVsZ1VCT2FKUThKRW5BS0ZZR3NKNTBJSm95a0haSWhGME13QWl6S21jb2laQ1FOR2tDd2RGRzVIRFJKS3F6eFlOMmpVU2lBbXJKUmtLbnQ1N3hiWFFXUlp1QjNuRk5Pa05XN1J5eCt6RkpKTlB6aFJLM2FoMUk1TFhBVGlEVXlRb1RDQkJnZ1V5bVJJclBBRHBVRGlOQTBEanRwSlhYemVsVmVUbFl6WEFOakIzSXlYUTl4ZkY3RGVSSjJ3N0hNbEFJYzg2NGRRa3RpSHVHODBwZkxzWlM3eEQ0ZHdrbmpmM2tIaWZpcnB1aGsvUG9BQU83eENQbDIvM1VEaDFpZXBoYW8vSHNCcDZpTlVXMTI4QTZrYjlpUEx5aTdzN2dYM005L3dCOUNkRy8yc2g0RUVWZ0JzVUZoc0kzWW1IWUFiNG1YRGFXdyt5OTBab0pOQTNWNFVYckliaENPaUI0ZDZEeWdrR0MyNGNYbENpR0NOMnNHSVlMUUw0b29nbktwYWlCVE1DRU9NR0llcDRZd1U1N3FpQmhoVCtLSUdISjB5WW5wRVRJR2xDZzJNd1oyU0VKUmdZQjVNU0tNaWZQc0JWcUErQkllaWpIWWRXa3BGQ1lmSDlTR1FZVXBhUW8zMFByZ1puQ0d1QzBTYUhhS2JnZ0Q0TDVsZW1HSDJHSU4yTlBXcUZ3bXAzdG9VY2hINnRFRjUyeERSZ3B5c1hHT2ZHb2lmY1ppTXZaUkt3Z0djNVZvVlhJV0NxQVNXYkdHcTZvYU9nbVhiVHB3RW9HUWFtdGxIVzVVL0ovUEtiQ3owQ1lCNGdPUklpWkFpYW9IUHJFY0h1Z1JNTXE0VUVTdit6MDhSd0tobWxHZ0d0SGdVRWVrS3pjeHBSV0REWnZyQW5ITDhpOFMwamNtZzdRckRMQWhMWUlKZXNJS0FseHdhUmdGSDNsRXVDckREYThTZFBocWdMQXJRZkZqRXRLM0ljVU84STg0NmlieENQWmpWSHRVTzE5UEFQZFJKQ0FBTVVyOUFySHhmMzhERTZhT2dBN1FBRkE1SHNQZ1lJREFNQzUrcTRNQTdYSmh4RUF6RlRJOFJxQ2M5OFE3RjVDQ01FUUJNajRVRE1HblZNZ3lnYnUrd0R6c3JDMmdNQkxZTUM5UjRFS0l5bENnbGNpNnJTVzNQQVFHQ0dqQmwyQ0FvZ3piTFpaM2NBVHlWbVVQRWZCYllNSzU4NUlKRml5aW1wQUFQQTNBOGlzQmkrcmJZTjFydXNkUHZqNFlRNzJQWUV6YWpOaWRNcEp1QlU0d0NrK1hneUJRbXdJM20wbTJ1Z0JSZCtLMnRHeWFGN29NUUJUVHdSeFJRSEtBQjI2clRYYnZ2dHVPZXUrKzY4OSs3Nzc4RHZFQUVBSWZrRUNRVUFBUUFzQUFBQUFJQUFnQUFBQlA4d3lFbXJ2VGpyemJ2L1lDaU9aR21lYUtxdWJPdStjQ3pQZEczZmVLN3ZmTy8vd0tCd1NDd2FqOGlMWTNGUUlKSlFEQU5BQlJBSUJZWWlHalZVdjFUczRja3Rlc0hvUWVHUUtBc0w2RGgxWUdpNFBRMkg0dkJZTUF3RmdWY0VBd1FoQkhLSmFsdEplWHQ5ZjRFRmd3T0pjUXVIbHBZRmpHYWFuM0VEYlNDSW9LRUdaRVFMcHF3R0lvS0VyRjhERDZORERKV3lsZzRuQ2d1VHVnVjJxcm02YUlZckRneXhvQU1IUlFmRnhsWFBMZ29HcFpwMHRrSFIwMVVFM0MwSkQ5bWJxZDNTdXE0MEIrWnlCTU5DM3NZRHZEWVA2c2YzUWdyNm53VnlJQ2p3cjRvOUl2UllWY3ZoemhJQmZqOGF2UHNVanNkQWgvSjZKSmo0Q1pPUEtZbi9DS0RiQVVmWGdKRTdGaFFFVUVBY0RwRHI1cTFrcDhQZnRFNUFFb0p4cGdNQlJ3RE9maUlib25OV3hob2xMd1c0aUdiaGtGVnlXdDZBR29kbWdxUnpYQWFCaWVhQkRRUUZLMUxBU3RNSTFsa29YNXhKQTNGQ3laTkp3TW9wQzhOQlFhY1Z2QVNFVW5ST1d4ZG5xK3pOWUFBbmtzQlVCcit3bVNidG5RbHkweGhtZ1JpQXg4Y1pIa1NGRVJtTVdNd1pPQTQ0cW9MckY3eWdMUnlZNjJKam5NK3BNWWpXYWtLQm5NdXhNV2lPZy9vRVlyaTVNN2hHb3hqRmNEQjBnMXRZTzR2MmlOVnhKaXVud0JoTWJ4TE13VTNmd0RGNWllN2JOWmdPbzZMekYrbmhKZGlPUS9yNTYvUWFPRjRQTVo0bC9BeUl2YitLdytBK0JxcGZGRWVDLzN6K1hRQ2RaeWlZVjRWajl5bElCWU1lT1BCZWdSZHdoTjRIQjM0eEZJVVVFR2pDYm1BSXlDRml1STBBb0dBY1drRGlDZlhwVjJCMlZMam9BWXdBeUhnZmpUWnlnR09LZVZWMXdvNDhUZ0JrQ1MwR0thU1BKcHlZbUpFU3JQaGhIQ0pTNkdRSkdXckhwSWNsU0hnTWt3RlllSUtEQURoMzN6OFFldUJsa092dGxBSkgvUVdwcEJVcDBCamxmWWpOQ2NLYkczTElaZ3AyUmNlamxtaGNtQWthT1NwWFg1NG1JSWJvZlJ6WkdVS1ZWUWlxWEhXbnJaREFQNFhHUmlOd0t2eFdabXpIQmRnQ3BGU1VHQjZJMW8zREVXemh6ZVpDZlFETUZ4dXBOYjRBSnF2S2lkWmVDcFdaV3NRMUhxQXFLZ3hwN3ZTcEQzRGtDQ1lBa3ZxMkdmOFNrVW1GMzdNeDlNa2JFbHpOMlJkUXphSkFJMUM3L3ZDT3RCVDR4Qm9OeStMNkE2a2lWVkFacHpQUVdpc1JsYlVyQWF3QWVIVkRaWllOWWUxclQ3eVptSmd1bUJ1S3JEaDhDMDQrY2h5VUE2V3pJRnpEcGQ4QUpURU0rUExrZzdBeDljRHZBTDdlOEJNbzVPNWc4RndFRTF1eHZUNUk1TkN4TGZDclNUeENOTENTeFRncys0bStRamd3Y21Jd280RHZKeHJYL0ROUUM2U013dEhhaE15RHl6T3pFWU84cklCTXhGV2dFTEJBMENESUxFdWJ0OXhzVUdFcy9GdHhGV0Qzd3pRNFpIdDdOcEpETU1VS0ZreHdQUUhGYnhOcXhMWlpFNUNwQkJ4YlVzZ1ZnUmhnd0FKTU5PR0EwaVliSUhaSXBBeU9SUUdHSTM2QTRveHo0UUJGUWNZc3lxVUhDbkRPaXFPZmI0REFNcWI4WFRvR0NZUit0T3FyQzNjQU5uS2tIWHVDQnpBd1NTNU8zLzZsQXdlRTYvdnd4QmR2L1BISUo2Lzg4c3czNy96ejIwVUFBQ0g1QkFrRkFBRUFMQUFBQUFDQUFJQUFBQVQvTU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxcm16cnZuQXN6M1J0MzNpdXEwWnhKTHRnVFRFQURBZ01oM0Q1S2dDZVQwTGhBV1JhVFk0aUZIbzBLSzdna0dGTGpoWVdqYkE2ZzlDV3lkM2ZlaTRadisvR3M1SU9SaER3Z0FBRUJuSjhTd3VCaVFONklsV0dKZ2wvaVlrRklvTnBqeVVQazRFRmpoNEtUNHRmbVNPU25HVUVueDUyVUFXa3BSMElCbTZvVUFTWUlHMWxBd1lJc1JzUHRiWlJ1U0FNZUFOVXdCWUlUc1J3c0NHbmR3WEd3QXJVMEVZSEpLR0szY3dNdzlzUG10cDNBd3lyZEFuUDIxc01Kd2tQNkc4RnY0WU45bkNKQmlzSCtHM0J4V2Rmb0FFTFdsVmpkMEpZSUFKNzFEZ1ErQVJmZ0YwTFh6Z2p0MlZBeENzRy81T0ZrNERzRFlGOE1BSUNnZ2dtNUIyQ0ZDS2wrZ2pEMmNwck8yVGlNY0FRVVVlYU1rcStSQm5rSGE4RkdYUnl5N0dBWTBXR05vVHlHb25oZ0NpcU53NDRCU0J2QjVGMFdESDg2YnBESzFnZGZzNTJPRUEyaU5rM0EzRE9NRW9HS2JNQVB1OUJmYkhwenIrN0pQR1lxNEV4MWQ1TWRMa1FqYUd3bzF4Z2hjbjhsWkhsVGxqQWIrRUFiWkc0SW1BTW5RRlVpdkdWMStMUEVpSnprY2I1amwzVUZ2cVdHZTFDZFpURG4rM0ZmU0YxeTJYWUVxeSttYnhDNlVEY3FIVWpEL0d0ekd2Z0YyU1QrVjJpODREVDBDY1lkOFZpK3hQaTJTMDBGclhjZy9BeXJNTlRLRTFtY0lyeGd0UnJzQWZlaEwyMjhpdjBqcUxDTm9EMCtVblFIUDhaajRWdzNrQUJabUFQZGNmY2t5Qm9iK0JIUW1jU1BvaVhneWdzYUtFRkI5NkNnbi9ZUFFqaUNRNll0T0VGOWdBSVFvZjhuVmlCaGlaSXg1MkxGSFRtSGdsNWJVRWJqUUYwOXR3SSt3RlEzNG53VlFnQ2ZFTnVpT1FKUy9KWXgzQk1RdWxrQUUyV0VHU1NGaFo1UW80ek91bGpReGg2K2NhTkk3QVkzNVF3bGxCaUtsTUdrT0lKL3BVWEhrY2hndkFtandOeWtjSjlUbkxaWXBTemlSa29DbjZlU1NPZktGU0dIbzFyTHJwbmhEUUdTY0FLblUzcW9qMDdubURtZnlleXR3V1prSENFWlhqd1hjZUNkWFZDNTUxb0xXejZvM3d5UWdIcVBQYW84cUJ5TGdRSkFJT29iVHBxQ2Y3Wm1wOXVCWjRRMnF2QXhlb1pESGtxcHA3L2Y1ekdFRnFtc0UwN2c2Smw4RnBLWmgycHlBSjhSaFNiU1ZwU3pnQ3RzSitGWm1vTnluN0h4QUxhV3FBckFMTktpd2V5TmdpRGJnZUZQb1VEdVZPVnBVVzlGM0RybUE2ZWRoUXZDOWp1bTRIQlhDeWNxMGczTkRDTWtSUkFEQVhHTllSbUJMNHRlTGN1QmszaDRja1NBQThuNXdncHg1UEJ2SUtrYW9OTEpzbHNnc2U3VldBVEhqQlpZVEVnQTBoOFpDY1ZxSlRNWmtKTTFJbk5EUjZFeVVaQWV5c0V6WEF0c0hJR0RsRVNRTlk4SSswelJWRVVRZ0xYaVlBdGlMaE11RE1KQVZhUGtEQThyakJ0eFRpVFNJMUJObkR6c2c0emVLOTBkY3Q1Qi8zWnpuZHdmQUhnY0Z1VExFYzVlN0RxTnNwY1BRY0NkT3NvUnQ1YytKSmZaUU1GdUNFMHVNUUkvcUFDblR1OGdRTUxFTEFWSjRaRGg0RGRTUjFnZ05ucHlOMW1CYWgzVHN5dnQydVFnT3kwRytGMTd4N2tEamExeEkvdysreU13NTc4Qndnc1VJQTJ5RDkvZ2dMTVB5RzA5Ui84WGtEMTNJY3YvdmprbDIvKytlaW5EMWdFQUNINUJBa0ZBQUlBTEFBQUFBQ0FBSUFBQUFUL1VNaEpxNzA0WDRPMC8yQW9qbVJaREV1cHJtenJTZ1lBRU01cjN6ajd5TURBNU1DZ2tPTGd5UWlLb1hMWkdoaDdoZ1J6U3ZVUW5zZERkY3NWRkxBOFRuZXNYSUI1QkMxNWpWT2NqWVVPZTg1S09OOHlGSDFmdXVMUk5YeUNIbDkvUEQ2RGlSVUlCNFdHYUVtS2V3a0hCZ1IzajA4RFVaSmtDUXFXbVlacG5Wc0lESDZpbVdLbFNnb25xckV6YXEwNURyQ3lzWHExTndnR21MbWlCUTI4TncvQXdZOEVEOFUyQ0k2WkJBVUx5SWFzelMwS3FhTUdrUUxiZjBqWUx3elZZSnZlRTlCdlBsTGpkZXRuQkF0eUZtYmhnUzRKMTUwTjRHQnAzR0Z3d3k3RmpTOEVpUFg3cDJtQndBeDJ6Z3pERWVOSXZrRU9HTUtwOStIZnNoekgvNHdNdUxqSEg1NEJ0RUtzNC9kQ1FUVWFna3krU1ZpQ0FTUWdNckhRcEpOQW93eE9KUTcwWVBEd3hqMTVITW5FTzJSUWhUK1NPYWk5S1ZDVWk4MHpLSGtkTVBkempVdXNLVnR0eFpxdUNnS05XYkdOUGFkd3kxSVpUYkVkeFVKMXk5d25CdDVOdUFxR0dSVUVYQWxVeGZaMlFOSWhGYkVNYUt0WEFPQXplWms0NEJxMjhWcE5VSUc4TGRENHd1WWxYeFVmN3Z4WWNlYURaK0oycHJBRERHY2hwWjhJWG8yQjRXSWhmSjlVcGkxQktKaklPWG9DSE16NzJ6bmlMQWhpVVYxOFFtc3N1MXNzTmR6OGduQzZ3UmtDcjE0aHNVamtRYytVNVM0aDlCTy9OcnlqSVYvN053N3Q3Qy9rWHUvTTNQajR5cDh3WnVGYmR2ejIwTmt3bi84TXIvMVh3Vkxic2JBVWN3YmVSYUFOREVXSEgwQXZ4R2JFYVA5WnlBT0dJaFNoazRFQVBuR2FDUG5SQjJJRkVicndIQnduV3JDZ0N3NENVR0NMRXJ6WXdvQUFKTmlpZWwyMXdHT09ORkx3bzQ0a0RCbmtCRWI2Nk42UkFpVEpBbzVFZ3Vqa0NqSE9TS09OT3JqR3BCZGdNRGhDaVVkc21XSUxIdnJISkVNamhxQ2hET0N4Wnc2SElqQjAzMzlsaWdSaGwwZkdTRUI2V2dhNWxKVlVVaGdrUTE2U01Ca1lhVlpYcHhHSnhybmtpVGp1aWRxSExUSUVLSC9pbldpZUVlaTlFQkVXVVZiM0kzVTRUQWNuYmRjOWNXa0wvVDFSS0c4cmNncEVxa2JNRnA5dGJhcUFJd0FTcnRhcUVhRzJzT1lNdWI1ajIzNmxwa1plckR5c2FnUC9tSG1jaXMyd0FNdzVLWGJOZmJiRW9XRDAyc3hsSWxsTEVWYklqbk1XWkg4RlZtd25oVWxyekJ2QnRySXJBSjFPOFJZQXIzWVNJNEhyOW9LV3Q0bUFLMUs1VEd3cUVzQXNQTk1vQ0FJZmdqQnU3RHhNZ2xRU1o5QndHSFBjTzBDOUx0eUNjUXRTU2RRdmJHZ3RIRUk1TEQ2SkJ3SHVNcEdUd3pkb1Eya0p6NnhNOEJnTklKTnZDUHR3TlhKdlB2VmdjaFVaZmV6Q0FVRlgvQXhYZVlpN2hrbDFDWHN2RHpzN3g3UkZwVFFRQjR4WE44dHcwRWZjekVjQVpFNXRKZ1lKUEFBMmdTMTNocklvQXd3R3l0cFEvRHlPekxKYzVBQXFYY05zWU0vQkxPREFBZ1hRRFlmWXZDR2RUQSs1Ykd6M09DRXRyZ3RMQnRZc2VTWUZPQjJmWk9LWFk1WDVsaFQ0MHJrbUJpQWVKTjZTRDFEQUE0Ly8vVXN3cWovUU51aEZQektBTkF0b0Rub0dJZi9SK3U0VWFHMUl4Y0JuRUxteXhWZDRyN1BKazhENTJjMjdJTG9tdjBkZkFlb3lERzI5QjRERHRUME90Y2Y3L2NTM2o1K0QxdWEzR0FFQUlma0VDUVVBQWdBc0FBQUFBSUFBZ0FBQUJQOVF5RW1ydlRqclhkUGlZQ2lPWkdsS3puQ2NiT3UrNGdFTURtemZlTGtBQUpIa3dLQlFZT0FCQ3IraGNta3FHQUVNcG5TNklUeFYxS3hXTUhqT2F0dndNT0hsRVJEaWRNNVI1aFhVY0ppc0RZM2JUenM2NEhIdlN4QU9DZzhMREFhR0Jnc1BCMDU2Tkg1cENBY01CUVJkZXBkUFo0OVVDUWNHbFppaGJUNmJTZ2tLbEtLcWRBYWxRUTBNVnF1emJTdXVOcWlXdEx0WENyY3VEZ1c2dk1SbURiOG1DQWJEeGMwRXlDUVB6S3NEQkFVRmg0Ylhzck90MEJ3SWpLdldEQWZIR3VLekg5OFpDdHloQkFhK0l1L1U4K3dWRE5OdEEvSW0rNklJbk1NbklFRTZQUVFXb0RGQnBoZ3BmQTNxalRxUTVBU2JabS9ZUmNRMFlFRkZGblAvZHBHN2g4eUJSQzhGRnI3SW84cmFBZ2Nmb1cxc1pNdEdrVXZWQ2p3WVNGREFURG9Fd053NHlLT2FnUU1xZTA1SWNOS0lnWmd3dUJsVmtGUnBCYUpHT2dvWkNkVnFQcHBlNFNnQWlDVXNwS1psellyQnltT2QyakFQOUhoN0swRkJ6U1VJQUQ1OG0yRFpnS3BDYnBaeFJQY0J0N2xEVXRDNUd6YllNTUpEMkdaVWUyRGY1Q0JqK1FHMm1wZWZVQ0JzM2I2TjIrWXlqZ2I3OXRJOU9ZRG5EUWFMNlZJSTZRV3hEYWFqdXFwbHJadUZBanFpWlFzZ1hZYnhDNngvaFZQQVhjYTBDK2ExbFZjUWZLVjNDZHBQU0VyUFhJYVB6VkhTTFp4MHp1S2s3ZkN3eXp5RDBibU05dkMvMjdnK2dkMU0rQXNualp0SWovSytCYXpuTmRGRy94VCtVY0RTRStTVmtGK0JGTVRueFhvdHRPZkZmUGRKK01SbUkxejBJSU1WblBTWkNRNW13aUVGQzdaQUhJSWpUb0NWZHl3Y2FFU0M5MkVWWEFuOFBSR2dmOVE1NVVLT1BOeDRINDhBK0JnQ2tFSktSK1NPYlJTcDNKRXQxS2hqaWtRazZZS0xia0FwZ0l3dW5QaWlsU3U2RUtJUkVJNVlJZ3NhaWdpbGh5NVlhSVIxeXUyRDRRZ252WGRmbVZsRk5XQ0tWUFlBQTFZd0tzY25ESG1HV2VCSkJBS3p6NGZoMFdrRW9pZVl4NkdUOXRtQWxhRGhqWGREZlR6SUtSdDNYckQ0UWdMN0tCa1drTWtOcGRsOTBLR0lBNllBekZnWUhaN0NrQ3FZYkZyRkd4Q1E4cUNmV2F5S1dnSnF1U25IR29WN0FpZWNsbHNLOFdWUkRBUkFsLythUm1ncUtVckVXaVhaRW9yMXNLdFhsZkVqN1EzTEdQQW1aMDM1bXVhM1hyRlZxcFd2NlJFcnUxUHFnUVM4Tm5Ucm1YQU9QRUFKRS9ZT3RpMCtEaXhBaVNXVTV0QnZHZVkrY3Nva2xpbXhBRUJIMU9wSEp3eGowcWNMdVlKWnJSK1JmQUp4R1lYaUVNNGxBdjNTZ0NlZzdQTHVDd2MwVlJTamZyQzFDcm9raFBQeEFEVEhZVkF6RzBmemNROHdiL0lUTFFQVTY3TEdCSEU2UzhFakpHQ1lLQVgwWE1yRHUxeXNnUUtmaU5LUHhLVUFhWEVKRHNUeWMxYi9Rak5yS0w0R25Nb3NVYjgxZEVEV1lKUE5OaWtUL1FEWDBHVGJ6Tjc5akdzVnNudlRVa0RPVm5rZE9FNkRjeWp6NFY3MEU3UnlDQng5K0FBNjRVMlgwb3pQb0pOTDN3VWUzUGpZUlkxRTd3VVo3d0hJQVlNVWNrZ2lCMUExT2dkc0VmNDZPQ2RKUFhzSWVoZDErNlViN201RGpWYjdMb0k0d1FzUEFuTWhHOStDWWlzckR5TE96dHV3Z08zUlF4a0JBQ0g1QkFrRkFBSUFMQUFBQUFDQUFJQUFBQVQvVU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxcm16cnZuQXN6M1J0My9pdEtIbnZGd2FmMEtZWURCTERaS3dBQUJ5VVVKWmowQ3hFcnlobWM0REEzaENPdzJQQk1KZ05pOGRCMGYxTW04MkhONFk0TUFvRUtuelBCeEFJQlF3OEdscHdWbk1yQ1FjR2VYMk9qM0NBRDIwVURYcHdYSWduQ1FwNGtKK2dBQU1GRDBnU0JvNExtaVFOREFTaHNLRURCZzJXamdTcklaMlhzYjJRQTYrUERya2REZ1c4dnNuSkRNUWFDQWJJeXRLeHVNMFhEOUd4d0FWQVp3YmNmOW5LZzlZU0NJWFVnUWNOSGdvTG50TkI1UUlLd2JBRUJrOG1EcTdpa05YV0dQamJNNHVjQ2dXTWZPbkxsUURkdndXVVhDVEFGdXZRcWdiMi9oMHdKV05CcnlNWC96TTZHckNBNHd5Um9CWjZjWUNTVDRHSU14NGtzNGdGNDZjQkttdTB2QWxUaVUxSUJZYmhrS2xNenBVRU81c1lNR2tqNlNlYVNod1NWTlhqd0xRQlFwVXcrSlh6aGxOUXpKUVVlWVJUaU5WcGZwUWcyRmxXaU5Sa1dYOUFvaXFrUVpneFpjQTFBaVhQQjFGSGZWY2xjS0JBVEY0OGZ3RG1RQ0N1QU5ONVVWQ05qQXM1eWh0SFhTdEhmUVJWczloc21UeGZlUXVBcm1pZjJRZzhQdTFqSzJiV1VKRGVXZzBiaDRKSHBtdkw3Uk5hdHcvWmZRTDd6bkcyajhIaE9DVHpVWXdjUjB2aHpURTRXQUNkQkdOSHg2TlBRUEFBSGdCMktJcnZZYTVkd3JFK21VVzRkbG5ld3R2cUl0NkdiVC9CWTUvT0kxcW1qeTQrRW9ycmZZQkhuLzg1MmZRVWdnTzNERmhCUzltRjBGOFQ1TkduM3dsLzdZRmZlMjhaVllKOTdDazR3VnU1cVFlWWh4TW90d2Q4SDVnSUI0cmFxYWpVQ1M0Q3dHSjBNYzdJUVkwa25qS2lDZXVkbUtNQU9KckFvWVUvZ2tpaEl4ZVdsK0VKRDZhVjQ0VDdKUGdrZGljQXlBZHQyaFdJQW9NazNzWmJDaTNOTitDUS9tWFJCd0VoS29sa0N2WkpRdG1BWWFiUXdBSnZlb2dnbFQrNjBHT1plYmJRVXBKOWtqQldIeG9HbWtLTXZSbTZ5WitLcWxEaEhvVTJXa0pMSUVscVFwTXlXbm9DcFFKcUtzS2pobmhxblRnTmlzb0JhWUNhaXNFQm9KVWFRMkxjR01EQUFtczRZT0FxYXoxaW81NmdBUE5IckduVWlnVnBpZHBnQzFvUjlyQW5wRzZoQlVEL3BENlFhU0dXTTBqYmkycEtzRXBXbmNZTzlBbTB4SW5UMWhDa2dZTHRFTnJxQ2dXb3NJQjd3d0wrT0FhRmxkUlFPOE95NDNXYVJMbTRDWEhPSndUb213U21aTjA2d3dGT1lUWEhWM3VJYWNNNUF3M2c2aEF4am1Rd0RCUUJ6SzFZMUd4a0E4S2hCSndMdzVGQUZNTkVKQmNnc0JjVi8yTEF4Q01nUlBJczlrTGhwVEw0d013QlAzdkpzdC9DemdKQzY4b1h1T05kUlVScll1MDB2M1p6aGw3ZWtsVktaY2M2YS9WTkJseWN5MXVqUkgzMVV6cm53cTRWdTN6dHl5aGhFME52RTFtMVF2TFZzMnlzbVVPZGNYSzAyYUtRVW5ObGo3cXFTRUp3azZMMWFjQUJrT3AyZHVEaHRTaUFDT0toY21sWEFJWVlaSGdUTEJ0OW5uVzRHcW9kdlBJejV4NThBem9LaFkxdSt1bW9wNjc2NnF5M25rSUVBQ0g1QkFrRkFBRUFMQUFBQUFDQUFJQUFBQVQvTU1oSnE3MDQ2ODI3LzJBb2ptUnBubWlxcm16cnZuQXN6M1J0MzNpdTczenYvOENnY0Vnc0dvOUZoRVB4V0RBTVVNTmljVkFna0VURWdWRWdEQURnc0ZoTUlCUVlDcXd1Y1RBUXh2QjQzSHk0cW1NSlJWZk83NHNIQlFjSmR5d05ERzkraVlvREJnMkVKM3BmaXBPTEJXa2lESU5ZRGdXVW5wNldJQXNBRGtnSUJwS2Zxb29HZGh1akFKZEZENm1mQTJZRlVWQUZYWWlxQXcrYUdBZVNCMG1kbm1ZTUI0NGRDZ3Q3b00wV3hHSEdRd3EraVFRR3NpUU9oNVFEMXhUVllRdERETFY4ak40cENtNlRCc0lLNitoQUNjaCtCQXV1TGdrUHRQRXA0S2dlSEFOQUdnaWNJOGpHZ1lWd0NKZ2JnOUNIUWo4REZnaTdRUXVqbkFJKy94eEFGRlBBWHc0RStrRDF1TWlPbkkrSG53andZQ21Id0RRZ0tKUHRTREFTekR3akRDakoxSkVTenIwanNCSU4wQkZVempncytTamxNQmpuS1pLb2xEYk9RTkRUcFpHaWlVclpBSHRPRFZrLzdtSWtQV2gybFZjWUNOYUZJYUNWaUlGVkFONit1RnYxWmhHK3E0N0djQ0FYakY0aGdBUFRPQXNTU3lTOEZXTW9jR3J5Q0FKMXFpTERPQ3VZMElHekgyVTBLRXozVVFWNGhlRTBodEVVenVGSENCYjBCRFAwQmM4NWRVMlhLNUM2dG92SmNUcnJ2dEFnM2hqZkxjZ09xRHg4V01xbHRpRnFiczZoQVc4d01BN0lTVXQ5QTBEa0t4TFA3VTVFT25raENMYWZENkk5NHZvZ3JVbStCMEtXd2Z3ZkVGL2ZwNUUranQvOU56Z3dCLytBUEFCM0hJRTdnR01BTDJXWWdlQ0RFRVlvNFlRVVZtamhoUmhLNkFZdUJqQ3d3SDhacGtDV2NDR2lrRitKTFVERUhZb2x5TUVjaXlNWStBZU1LcXcxSG8wb2tMVWFqaVZBWkIrUEpRZ1l4NG85Qm5OaGZEZXk4QVlqWWswSTBZNHFhQk9JaERLS29SOEpDeEhBd0l2cmlRZkdjaTZjQlFpUjFOMm0yZ3VnMFdia2V3L0ljU1VKYVliQjVIb1FEWkFiQ2w3Mk1TVjE3YkgxQXBLS2FNbmxFWFdDbUlLTjRvUkNTSnR4UU1rQ28zZzVha1JjNm1XSEZ3QUYzRWtFWXpKVVNVbW1udkZCSmdwQ2ZnTHFIVnpKTVowTERhaEN3S0JEaUFsckNqRnBTZ1NnWVR4UVEycHpHRm9Fb21HY09zTnNaUGhLeEVSakRHQ3NrcFBvNmhuN3IyK3VRS3ljMGI3RTY2b3l4RGtHaVVJc3dLdXdOV2hMa2EwODREclhzbUc2aXU0Tk9mRmhrdzU1S2xYdEREQ3gweVFPdUFKRGJFazl0TXZPcUdyRllReE5UbW1rUTBkOUVIQnZEcEJhTXdIQk5UVlVRNzBKcnh0RG4yQjBodFUrL2VBUmtDSUUvU0FqdDVncDFVMEw4RXpyRTdrMWxQb2pCdGtJZGJJSjRLajg1Ynd6dEFvQXRoWDRPNGtaVkZqOFREU2ZXbXpEemg4Z213eUh1akRveFNyQXNKd0R6eG1jd3V1bGtNMnFtM1ZYWXoySm9nZys1clV0WUVkb2lNMWVNMkwwZkhrUVBmWWZCYXhaSWh2R3BSMjMxaGRxd1FYYXQ1d0JNSTlLSE5ERUUxRk1VUVhlUUNhdStPS01OKzc0NDVCSEx2bmtsRmNlUUFRQUlma0VDUVVBQWdBc0FBQUFBSUFBZ0FBQUJQOVF5RW1ydlRqcnpidi9ZQ2lPWkdtZWFLcXViT3UrY0N6UGRHM2ZlSzd2Zk8vL3dLQndTQ3dhajBXRTQvQllNQXhRdzJKeGNDQ1FSTVNCVVNBTUFPQ3dXRHdnRkJZT3JDNXhNSGpIOERoOFVIaGMxYkdFd3ZDVisvOWhkQThKZUN3TkRBU0Fpb3NBQXdZTmhTY0tCWDJNbG45MENwRWlEcFNYbjRzRm1wc2NDSHlncUlxT2Q2UVhENVdmWlFVRlVWQ3pCRytnQTRPdEZBZ0ZuMlpVa0IwT0MxMmZCY1N0Q29tTUJBWUhKdzZJc0pqU3BBeldjbzZqSzN2YmNZNkVlQW5BaWdRTHJDNEpEODZBeW1vTjczNEVCK1EwQi9SeUJNdEY4NEFHTE1CMzR4VWdBbW1LT05nSHA4QzZIS2JDQlVvb0JLQ2ZBZGgrSEpBSUJtRkZobUwvK2czNTlVZmtqd1Fnd3hnZ0tNUkF5WWM2em9sYmdHVUJ4d0lzY1RDNG1CSEpSajhHZUNpUWlESFNUM0U5THpnSXlnSkJ5cUtianM3eFI2RVRuUll5NGRCc3RjQVB6Z29Sd1NROTBWVU8wMTR1NVR5WUVCYk1nSndsRUVna0FEZFNWaklJRXRnY1E0QkYycW05ZkVsRUJ1Y3NDZ2NTeC9hU3VvZ2lpcnRoQ2dTKzhCZmR0M0FEWUU2V3kwaXlDc2hndGs2dVlGR1I2Qk1Od3RFZFRhSEJxVVdaVlpTRm83aFZBbTJYK3E0NDRDbk02dEY2VS80eHJBSUJvdENzOWFXcW5XS1A1a0xLVTcxbExXTnZLcy9VWTFnSGRUcjdDOGFXSEh0L01UVFllQnFsRnhFLy84S3BKZWJzVjVCVVZUYytWa1hZN2M5NExhZTdmdTBjaWZkZi93d0d3YUhiZ0RXVU44WjZDTWJRekJqd05kaUNlMjdWVjhKU0Z2NUg0WUVzZFBXVmhCV1lBNEIvS1p4akVvZ1VHQ0FnQ2dsVWNpS0tNUnd3eGdEZXdQaENaVzdWYUNNTElPMnlZd3NPL0VIaWp5VE1aaGFSSmVLWElaSWF0QmpLYzB4dUlPTXpWRVhKQVk0SHJXZ2xCc0p4bytPV0Y2U21TNFJiR25tSlFHQm1BSm9sUTRMWjVVRmtJcWxBS2dUd1FwMldLR0NwaWdGUWt0S2lJMVdlOE9hTWZKNzNRQ0FGeE5tQms3REZ3eDVEZGFKd0tDTnRqalpsWVk5Wjh0dDVQUVlhd3FCaVZOckxwQTBkRmt1ZnBIQVd4NWNpNkNuUW12bXhwaWNBc1pLd3p5b0NJQ2FIb2xpQWx5T0xsZUE2d2F3RGVCb0poWmlpTUtVakFxcHE0UCtTU0t3Wlc1NjBzaW9CcWNtaTVjZGFLVVREd1pvajltS21HQi9hNE95TXZBTGhxMXZHT2toVXVqMnMyd2k4Syt6RURiMDV5QXNBZ3plQWl5WVMyelVFYlF6SXhyR1NFYk4yMUs0TjZSbTRNQTd6OGZNd3d4ek5HNFMramVDNXcwTHdvQ3BEVzE0YTBmQWNBK2xRWUQwYSt6Q3lnZmZZRUYxSkUvY2dJanJxNU9GT0tESC9nTnVlMXBZQURtd0hiL0xnTXdiMDdBRTF1YWlDN3c4UlAzUEdBVEViUTVnbGprNTJjaXhtMEZMTExVbWZhU2RySUtjaU5xRWVrK0pheFdOM1pqUnJWcVd0aXlnU3VnYXEyNERhcUFkL2JwTlJ4OEQ2c2VGRzNvS1VEYU1XWEhTTmlUQnJwNmtFRXd2VUlnVVZDZ2llNXVTVVYyNzU1WmhucnZrSjVweDM3dm5uQWtRQUFEcz1cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgei1pbmRleDogOTk5O1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMjhweDtcbiAgaGVpZ2h0OiAxMjhweDtcbiAgLyogY3NzMyAqL1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4jS0pFV2FpdENvbnRhaW5lciB7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4uS0pFSW5zZXQge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbiNLSkVSZXBvcnQge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nOiAzMHB4IDVweCA1cHggNXB4OyB9XG5cbiNLSkVSZXBvcnQsICNLSkVSZXBvcnQgcCB7XG4gIGZvbnQtc2l6ZTogMS4wZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLktKRURlZmluaXRpb25zSGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG5cbi5LSkVEZWZpbml0aW9uUG9wdXAgcCB7XG4gIGZvbnQtc2l6ZTogMS4wZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLktKRURlZmluaXRpb25Qb3B1cCwgLktKRURlZmluaXRpb25Qb3B1cCBkbCwgLktKRURlZmluaXRpb25Qb3B1cCBkZCwgLktKRURlZmluaXRpb25Qb3B1cCBkdCwgLktKRURlZmluaXRpb25Qb3B1cCB0aCwgLktKRURlZmluaXRpb25Qb3B1cCB0ZCwgLktKRURlZmluaXRpb25Qb3B1cCB1bCwgLktKRURlZmluaXRpb25Qb3B1cCBsaSwgLktKRURlZmluaXRpb25Qb3B1cCBvbCB7XG4gIGZvbnQtc2l6ZTogMS4wZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuYnV0dG9uLktKRURlZmluaXRpb25JY29uOmFjdGl2ZSxcbmJ1dHRvbi5LSkVEZWZpbml0aW9uSWNvbjpmb2N1cyxcbmJ1dHRvbi5LSkVEZWZpbml0aW9uSWNvbjpob3ZlcixcbmJ1dHRvbi5LSkVDbG9zZUJ1dHRvbjphY3RpdmUsXG5idXR0b24uS0pFQ2xvc2VCdXR0b246Zm9jdXMsXG5idXR0b24uS0pFQ2xvc2VCdXR0b246aG92ZXIge1xuICBjb2xvcjogIzAwMDA1NTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU5N0JCMjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBvdXRsaW5lOiAjODhCMEYxIHNvbGlkIDJweDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7IH1cblxuYnV0dG9uLktKRURlZmluaXRpb25JY29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDAwRDQ7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuYnV0dG9uLktKRUNsb3NlQnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDAwRDQ7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGN1cnNvcjogaGFuZDsgfVxuXG4jS0pFRGVmaW5pdGlvbnNETCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbiNLSkVEZWZpbml0aW9uc0RMIGR0LktKRURlZmluaXRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjBlbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbiNLSkVEZWZpbml0aW9uc0RMIGRkLktKRURlZmluaXRpb24ge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDBweCAxMHB4IDIwcHggMTBweDsgfVxuXG4jS0pFRGVmaW5pdGlvbnNETCBwLktKRURlZmluaXRpb24ge1xuICBmb250LXNpemU6IDEuMGVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IC43ZW0gMCAwIDA7IH1cblxuI0tKRURlZmluaXRpb25zREwgdGQsICNLSkVEZWZpbml0aW9uc0RMIHRoLCAjS0pFRGVmaW5pdGlvbnNETCB1bCwgI0tKRURlZmluaXRpb25zREwgbGksICNLSkVEZWZpbml0aW9uc0RMIG9sIHtcbiAgZm9udC1zaXplOiAxLjBlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4jS0pFUmVwb3J0IHRkLCAjS0pFUmVwb3J0IHRoLCAjS0pFUmVwb3J0IHVsLCAjS0pFUmVwb3J0IGxpLCAjS0pFUmVwb3J0IG9sIHtcbiAgZm9udC1zaXplOiAxLjBlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4uS0pFQ2xvc2VCdXR0b24ge1xuICBjb2xvcjogIzVENjBDNjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLktKRUNsb3NlQnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwZDQ7IH1cblxuLktKRU1haW4gaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDM1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVJbnB1dEZpZWxkQ29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgLktKRVNsaWRlciB7XG4gIHRvcDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgLktKRUluY3JlbWVudGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVTY2FsZSB7XG4gIGZvbnQtc2l6ZTogLjg3ZW07XG4gIGJvcmRlci1jb2xvcjogIzY2NjY2NjtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVMYWJlbCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFT3V0cHV0TGFiZWwge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgLktKRUxhYmVsQm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVIZWxwIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGN1cnNvcjogaGVscDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVIZWxwOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwNTU7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVUcmFpbGluZ0xhYmVsIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDAgMCAwIDVweDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgLktKRVRyYWlsaW5nTGFiZWxEaXNhYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiAjNTY1NjU2OyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dDpkaXNhYmxlZCwgLktKRUlucHV0Q29udGFpbmVyIHRleHRhcmVhOmRpc2FibGVkIHtcbiAgY29sb3I6ICM1NjU2NTY7XG4gIGJhY2tncm91bmQ6ICNlZGVkZWQ7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVEcm9wQm94IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjllbTsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgc2VsZWN0LktKRURyb3BCb3hNb2Rlcm4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5kaXYuS0pFRHJvcEJveERpdk1vZGVybiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJRQUFBQVVDQVlBQUFDTmlSME5BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93Z0FBRHNJQkZTaEtnQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBQXNVbEVRVlE0VDlXUnl4R0RNQXdGMVJJRlVZNmJvWmYwb2c2VWlFSGlXWmJCRUhMSXpyeURaSHY5by85QVJCNkpvd1V6ZjVWR2lEa2p6cmM0Mlc1MzRteUYwRlRreGZ3cDkwSGNDR0ZlWk5ZMTYvSWdWR3d3a3lMYVJ4bk5TejBSRjJaU0hPL0piTjQ2MTk3TTZFazF2WlB0NC9Xek9GR3F2Y05ySW5nQ3BKWU95aFQ3d1NoVXlyUkpSbVdLQ1UrbEk3SlJTbWsvb0plMGFVR3dqN2VLU1pzV2s2THNLSTRXbWZCS0d1RVQrUUZFYnhvSGExaVgxd2FXQUFBQUFFbEZUa1N1UW1DQyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRvcDogMTVweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICMzMzMzMzM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcbiAgLW1vei1ib3gtc2hhZG93OiAycHggMnB4IDJweCAjMzMzMzMzOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFSW5wdXQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXQuS0pFSW5wdXRNb2Rlcm4ge1xuICB0b3A6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7XG4gIHBhZGRpbmc6IDJweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICMzMzMzMzM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcbiAgLW1vei1ib3gtc2hhZG93OiAycHggMnB4IDJweCAjMzMzMzMzOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dC5LSkVJbnB1dE1vZGVyblt0eXBlPXJhZGlvXSwgLktKRUlucHV0Q29udGFpbmVyIGlucHV0LktKRUlucHV0TW9kZXJuW3R5cGU9Y2hlY2tib3hdIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgLktKRUFycm93SUU4IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEycHggc29saWQgIzAwMDBkNDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgLktKRUFycm93IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEycHggc29saWQgcmdiYSgwLCAwLCAyMTIsIDAuNik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgwLCAwLCAyMTIsIDAuMyk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggcmdiYSgwLCAwLCAyMTIsIDAuMyk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAycHggcmdiYSgwLCAwLCAyMTIsIDAuMyk7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVBcnJvdy5hY3RpdmUge1xuICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMjEyLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIGRpdi5LSkVMaW5lIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4IDA7XG4gIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFTGluZS5hY3RpdmUge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM2NjY2NjY7IH1cblxuaHIuS0pFRGl2aWRlIHtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGNvbG9yOiAjOTY5Njk2OyB9XG5cbmhyLktKRUZvb3RlckxpbmUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4OyB9XG5cbi5LSkVDZW50ZXJUZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5LSkVCb2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLktKRUJvbGRDZW50ZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5LSkVTdWJUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuI0tKRVJlcG9ydCBwLktKRUZvb3RlciwgcC5LSkVGb290ZXIsIC5LSkVGb290ZXIge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbiNLSkVHdWlEYXRhUG9pbnQge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVENjBDNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTtcbiAgcGFkZGluZzogOXB4O1xuICBtYXJnaW46IDFlbSAwIDNlbTtcbiAgbWF4LXdpZHRoOiA1MjBweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMzMzMzMzM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzMzMzMzMztcbiAgLW1vei1ib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMzMzMzMzOyB9XG5cbiNLSkVHdWlEYXRhUG9pbnQgZHQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4jS0pFR3VpRGF0YVBvaW50IGRkIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuI0tKRUd1aURhdGFQb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwcHg7XG4gIC8qIHZhbHVlID0gLSBib3JkZXItdG9wLXdpZHRoIC0gYm9yZGVyLWJvdHRvbS13aWR0aCAqL1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cbiAgbGVmdDogMzlweDtcbiAgLyogY29udHJvbHMgaG9yaXpvbnRhbCBwb3NpdGlvbiAqL1xuICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM1RDYwQzYgdHJhbnNwYXJlbnQ7XG4gIC8qIHJlZHVjZSB0aGUgZGFtYWdlIGluIEZGMy4wICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDsgfVxuXG4vKiBjcmVhdGVzIHRoZSBzbWFsbGVyICB0cmlhbmdsZSAqL1xuI0tKRUd1aURhdGFQb2ludDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cbiAgYm90dG9tOiBhdXRvO1xuICAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cbiAgbGVmdDogMzhweDtcbiAgcmlnaHQ6IGF1dG87XG4gIC8qIHZhbHVlID0gKDpiZWZvcmUgbGVmdCkgKyAoOmJlZm9yZSBib3JkZXItbGVmdCkgLSAoOmFmdGVyIGJvcmRlci1sZWZ0KSAqL1xuICBib3JkZXItd2lkdGg6IDAgMTFweCAxMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQ7XG4gIC8qIHJlZHVjZSB0aGUgZGFtYWdlIGluIEZGMy4wICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDsgfVxuXG5kaXYuS0pFR3VpRGVmblBvcHVwIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1RDYwQzY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk7XG4gIHBhZGRpbmc6IDlweDtcbiAgbWFyZ2luOiAxZW0gMCAzZW07XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMzMzMzMzO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMzMzMzMzM7XG4gIC1tb3otYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzMzMzMzMztcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVJbiAuNHM7XG4gIGFuaW1hdGlvbjogZmFkZUluIC40czsgfVxuXG5kaXYuS0pFR3VpRGVmblBvcHVwIGR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGl2LktKRUd1aURlZm5Qb3B1cCBkZCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5kaXYuS0pFR3VpRGVmblBvcHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTBweDtcbiAgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIC8qIHZhbHVlID0gLSBib3JkZXItdG9wLXdpZHRoIC0gYm9yZGVyLWJvdHRvbS13aWR0aCAqL1xuICBsZWZ0OiAzOXB4O1xuICAvKiBjb250cm9scyBob3Jpem9udGFsIHBvc2l0aW9uICovXG4gIGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzVENjBDNiB0cmFuc3BhcmVudDtcbiAgLyogcmVkdWNlIHRoZSBkYW1hZ2UgaW4gRkYzLjAgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwOyB9XG5cbmRpdi5LSkVHdWlEZWZuUG9wdXA6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThweDtcbiAgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXG4gIGJvdHRvbTogYXV0bztcbiAgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXG4gIGxlZnQ6IDM4cHg7XG4gIHJpZ2h0OiBhdXRvO1xuICAvKiB2YWx1ZSA9ICg6YmVmb3JlIGxlZnQpICsgKDpiZWZvcmUgYm9yZGVyLWxlZnQpIC0gKDphZnRlciBib3JkZXItbGVmdCkgKi9cbiAgYm9yZGVyLXdpZHRoOiAwIDExcHggMTFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50O1xuICAvKiByZWR1Y2UgdGhlIGRhbWFnZSBpbiBGRjMuMCAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7IH1cblxuZGl2LktKRVRvZ2dsZUNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFVQ0FZQUFBQ05pUjBOQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd1FBQURzRUJ1SkZyN1FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBY0dGcGJuUXVibVYwSURRdU1DNHhPZFRXc21RQUFBQ3pTVVJCVkRoUDFaTFJEWU13REFXOUVnTXhUcFpobCs3aURVeWQ5aG5IT0UxUTZVZFBlaEpKbk1NVzBFOFFrVnRpNklLWnY0b0pzME1FUmVoZ2xHR3h4KzluTDBlbUtHVXp1eGRuYWV4MUkxQVcwazJoOVpCK1pFcUd6RWliZGgwckpFdVJCMjlpNjlsT1BhMk1xNEJucFhIY0tQTVQ5S1RIK2ZNcjZ3UG95Y0RyMGxtS09sK2J5akowZnpqKyszSXF3MTlReDNGNHFkYjdPODBsRFFxdXh1Z2VkSWoxaUtHTDJPWFZuSVIzNUI4ZzJnSFRQR3RZa1lFSWdnQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbmRpdi5LSkVUb2dnbGVPcGVuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFVQ0FZQUFBQ05pUjBOQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd1FBQURzRUJ1SkZyN1FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBY0dGcGJuUXVibVYwSURRdU1DNHhPZFRXc21RQUFBQ3hTVVJCVkRoUDFaSExFWU13REFYVkVnVlJqcHVobC9TaURwU0lRZUpabHNFUWNzak92SU5rZS8yai8wQkVIb21qQlROL2xVYUlPU1BPdHpqWmJuZmliSVhRVk9URi9DbjNRZHdJWVY1azFqWHI4aUJVYkRDVEl0cEhHYzFMUFJFWFpsSWM3OGxzM2pyWDNzem9TVFc5ayszajliTTRVYXE5dzJzaWVBS2tsZzdLRlB2QktGVEt0RWxHWllvSlQ2VWpzbEZLYVQrZ2w3UnBRYkNQdDRwSm14YVRvdXdvamhhWjhFb2E0UlA1QVVSdkdnZHJXSmZYQnBZQUFBQUFTVVZPUks1Q1lJST1cIik7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxudGFibGUuS0pFVG9nZ2xlVGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbnRhYmxlLktKRVRvZ2dsZVRhYmxlIHRkIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi5LSkVUb2dnbGVUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbnRkLktKRVRvZ2dsZVRpdGxlOTlDZWxsIHtcbiAgd2lkdGg6IDk5JTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG50ZC5LSkVUb2dnbGVUaXRsZTQ5Q2VsbCB7XG4gIHdpZHRoOiA0OSU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxudGQuS0pFVG9nZ2xlVGl0bGU0OUNlbGwge1xuICB3aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uS0pFVG9nZ2xlSWNvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogIzExMTExMTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMzVweDtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi5LSkVUb2dnbGVTdWJUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uS0pFR3JhcGhJY29uIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLktKRUlucHV0SWNvbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5LSkVJbnB1dERpdiB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlci1jb2xvcjogIzY2NjY2NjtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5LSkVEcm9wcGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlci1jb2xvcjogIzY2NjY2NjtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5LSkVHcmFwaERyb3BwZXIsIGRpdi5LSkVHcmFwaERyb3BwZXIgdGQuS0pFR3JhcGhUaXRsZSwgLktKRURyb3BwZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlOyB9XG5cbi5LSkVEcm9wcGVyOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLktKRURyb3BwZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5cbi5LSkVHcmFwaENvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLktKRUdyYXBoIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uS0pFR3JhcGhUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLktKRUdyYXBoRHJvcHBlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjNjY2NjY2O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4uS0pFR3JhcGhEcm9wcGVyOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLktKRUdyYXBoRHJvcHBlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLktKRURyb3BwZXJSZXBvcnQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDVweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5LSkVEcm9wcGVyUmVwb3J0OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLktKRURyb3BwZXJSZXBvcnQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlOyB9XG5cbmRpdi5LSkVEcm9wcGVlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDAgMCAwOyB9XG5cbi5LSkVSZXBvcnRUYWJsZURpdiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMjBweCAwO1xuICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xuICAtbW96LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREOyB9XG5cbi5LSkVJbnB1dCAuS0pFUmVwb3J0VGFibGVEaXYge1xuICB3aWR0aDogOTUlOyB9XG5cbi5LSkVEZWZpbml0aW9ucyAuS0pFUmVwb3J0VGFibGVEaXYge1xuICB3aWR0aDogOTUlOyB9XG5cbi5LSkVEZWZpbml0aW9uUG9wdXAgLktKRVJlcG9ydFRhYmxlRGl2IHtcbiAgd2lkdGg6IDk1JTsgfVxuXG4uS0pFQ2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5LSkVSZXBvcnRIZWFkZXIge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLktKRVJlcG9ydFRpdGxlQmxvY2sge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IH1cblxuLktKRVJlcG9ydFRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5kaXYuS0pFUmVwb3J0RXh0cmFDbGllbnRCbG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUsIHRhYmxlLktKRUNhbGNUYWJsZSB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXI6IDFweDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50YWJsZS5LSkVDYWxjVGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRUhlYWRlclJvdywgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUhlYWRlclJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRUZvb3RlclJvdywgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUZvb3RlclJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXI6IG5vbmU7IH1cblxuY2FwdGlvbi5LSkVIZWFkZXJSb3csIGNhcHRpb24uS0pFSGVhZGVyUm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYzsgfVxuXG50YWJsZS5LSkVDYWxjVGFibGUgdHIuS0pFSGVhZGVyUm93LFxudGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUZvb3RlclJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFSGVhZGVyUm93OmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdHIuS0pFSGVhZGVyUm93OmhvdmVyLFxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFRm9vdGVyUm93OmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdHIuS0pFRm9vdGVyUm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmM5ZDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFRXZlblJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbnRhYmxlLktKRUNhbGNUYWJsZSB0ci5LSkVFdmVuUm93IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFRXZlblJvdzpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUV2ZW5Sb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ2YzlkO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ci5LSkVPZGRSb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG50YWJsZS5LSkVDYWxjVGFibGUgdHIuS0pFT2RkUm93IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFT2RkUm93OmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdHIuS0pFT2RkUm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmM5ZDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuaDIuS0pFU3ViSGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4wNWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgLktKRUhlYWRpbmcsIHRhYmxlLktKRUNhbGNUYWJsZSAuS0pFSGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4wNWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDEwcHggOHB4OyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIC5LSkVIZWFkaW5nVW5kZXJsaW5lLCB0YWJsZS5LSkVDYWxjVGFibGUgLktKRUhlYWRpbmdVbmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSAuS0pFSGVhZGluZ1JpZ2h0LCB0YWJsZS5LSkVDYWxjVGFibGUgLktKRUhlYWRpbmdSaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbGwsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsIHtcbiAgcGFkZGluZzogMTBweCA4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUxhYmVsLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVMYWJlbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUxhYmVsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFTGFiZWwsXG50YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFSGVhZGluZywgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFSGVhZGluZyB7XG4gIHBhZGRpbmc6IDEwcHggOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBib3JkZXI6IG5vbmU7IH1cblxudGFibGUuS0pFSW5kZXhUYWJsZSB0aC5LSkVMYWJlbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVMYWJlbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUxhYmVsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFTGFiZWxQYWQsIHRoLktKRUxhYmVsUGFkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFTGFiZWxQYWQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxTdHJvbmcsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbGxTdHJvbmcsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFQ2VsbFN0cm9uZyB7XG4gIHBhZGRpbmc6IDEwcHggOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUhlYWRpbmc6aG92ZXIsIHRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVIZWFkaW5nOmhvdmVyLFxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGw6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA1NTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSAuS0pFTGFiZWw6aG92ZXIsIHRhYmxlLktKRUNhbGNUYWJsZSAuS0pFTGFiZWw6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA1NTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nOmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbFN0cm9uZzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDU1OyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxTcGVjaWFsOmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbFNwZWNpYWw6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA1NTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbFNwZWNpYWwsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbGxTcGVjaWFsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbFNwZWNpYWwsIHRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVDZWxsU3BlY2lhbCB7XG4gIGNvbG9yOiByZWQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbEJvcmRlciwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFQ2VsbEJvcmRlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGxCb3JkZXIsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsQm9yZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1zcGFjaW5nOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuXG4uS0pFTGVmdCwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFTGVmdFBhZCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUxlZnRQYWQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5LSkVMZWZ0UGFkLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVMZWZ0UGFkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFTGVmdFBhZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuXG4uS0pFQ2VudGVyLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZW50ZXIsIHRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVDZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLktKRVJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLktKRVJpZ2h0Qm9sZCwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFUmlnaHRCb2xkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFUmlnaHRCb2xkIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5LSkVDZW50ZXJCb2xkLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZW50ZXJCb2xkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFQ2VudGVyQm9sZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLktKRUxlZnRCb2xkLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVMZWZ0Qm9sZCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUxlZnRCb2xkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDEwLCB0aC5LSkVDZWxsMTAsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsMTAge1xuICB3aWR0aDogMTAlOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwxNSwgdGguS0pFQ2VsbDE1LCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDE1IHtcbiAgd2lkdGg6IDE1JTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsMjI1LCB0aC5LSkVDZWxsMjI1LCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDIyNSB7XG4gIHdpZHRoOiAyMi41JTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsMjAsIHRoLktKRUNlbGwyMCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGwyMCB7XG4gIHdpZHRoOiAyMCU7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDI1LCB0aC5LSkVDZWxsMjUsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsMjUge1xuICB3aWR0aDogMjUlOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwzMCwgdGguS0pFQ2VsbDMwLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDMwIHtcbiAgd2lkdGg6IDMwJTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsMzUsIHRoLktKRUNlbGwzNSwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGwzNSB7XG4gIHdpZHRoOiAzNSU7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDQwLCB0aC5LSkVDZWxsNDAsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsNDAge1xuICB3aWR0aDogNDAlOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGw1MCwgdGguS0pFQ2VsbDUwLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDUwIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsNjAsIHRoLktKRUNlbGw2MCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGw2MCB7XG4gIHdpZHRoOiA2MCU7IH1cblxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDcwLCB0aC5LSkVDZWxsNzAsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsNzAge1xuICB3aWR0aDogNzAlOyB9XG5cbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxOQiwgdGguS0pFQ2VsbE5CLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbE5CIHtcbiAgYm9yZGVyLXdpZHRoOiAwOyB9XG5cbmRpdi5LSkVSZXBvcnRUYWJsZVNpZGVieVNpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmRpdi5LSkVSZXBvcnRUYWJsZVNpZGVieVNpZGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbmRpdi5LSkVSZXBvcnRUYWJsZURpdkxlZnQsIGRpdi5LSkVSZXBvcnRUYWJsZURpdlJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA0OSU7XG4gIC8qIHRocmVlIGNvbnRhaW5lcnMgKHVzZSAyNSUgZm9yIGZvdXIsIGFuZCA1MCUgZm9yIHR3bywgZXRjKSAqL1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmRpdi5LSkVSZXBvcnRUYWJsZURpdkxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG5kaXYuS0pFUmVwb3J0VGFibGVEaXZMZWZ0OjphZnRlciwgZGl2LktKRVJlcG9ydFRhYmxlRGl2UmlnaHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxudGguS0pFQ29sdW1uSGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qXHJcblJvd3MgYW5kIENlbGxzIHVzZWQgaW4gdGhlIHNjaGVkdWxlIHRhYmxlXHJcbiovXG4uS0pFU2NoZWR1bGVIZWFkZXIge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbnRhYmxlLktKRVNjaGVkdWxlVGFibGUge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVIZWFkZXJSb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXI6IG5vbmU7IH1cblxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cblxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0Ym9keS5LSkVTY2hlZHVsZVRCb2R5IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlRXZlblJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXI6IG5vbmU7IH1cblxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ci5LSkVTY2hlZHVsZU9kZFJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVPZGRSb3c6aG92ZXIsXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlRXZlblJvdzpob3ZlcixcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVIZWFkZXJSb3c6aG92ZXIsXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlRm9vdGVyUm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmM5ZDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVTY2hlZHVsZUhlYWRpbmcge1xuICBwYWRkaW5nOiAxMHB4IDhweDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5LSkVNaW5IZWlnaHQyIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAxMHB4OyB9XG5cbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsLFxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVTY2hlZHVsZUNlbGwsXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFNwZWNpYWwsXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFN0cm9uZyB7XG4gIHBhZGRpbmc6IDEwcHggOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbDpob3ZlcixcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGhlYWQuS0pFU2NoZWR1bGVUSGVhZGVyIHRoLktKRVNjaGVkdWxlSGVhZGluZzpob3ZlcixcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsU3BlY2lhbDpob3ZlcixcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsU3Ryb25nOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwNTU7IH1cblxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ZC5LSkVTY2hlZHVsZUNlbGxTdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFNwZWNpYWwge1xuICBjb2xvcjogcmVkOyB9XG5cbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFQ2VsbEJvcmRlciwgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVDZWxsQm9yZGVyIHtcbiAgYm9yZGVyOiAwICMwMDAwMDAgc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAxcHggMCAwOyB9XG5cbnRoZWFkLktKRVNjaGVkdWxlVEhlYWRlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4jS0pFU3BsYXNoIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDg1cHg7XG4gIHBhZGRpbmctdG9wOiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UveC1wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGVUFBQUJWQ0FJQUFBQzNsejhOQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd3dBQURzTUJ4MitvWkFBQUFCcDBSVmgwVTI5bWRIZGhjbVVBVUdGcGJuUXVUa1ZVSUhZekxqVXVNVEF3OUhLaEFBQWtZa2xFUVZSNFh1VjhkWGdjMTlXK0hZZWJKazBUSjJuU3RLR3YvWnIyYXdwdUdrUEFNY25NSERPakpOdXlaTEZrTVRPRFJSWmJ6RXdXZzhXd29wV1d0THdyN1lyemUyZG50VnBKSzFsMm5QNys2RHozMFRNN08zUG52dWNlZU0rNWQ3WGt4Ly91WThsL04vd2YvNlA0ZVlPQ0xqYTFuOGVBMEtsQzFvTzJrdFMyaHppdlozVG9abnBlVG5ZWW14aG5pM21VZ1o3UjhkSC96TVQ4Ui9HYjVRYTg3Ymh2aGQvRmtiRlJveHkvSlpacWI5cnZZUXJaSmpuK09GL3BmeG1ZYlF0RDMzTFkreSsvU3lLcGVIUjhyTEszZ1NrYytQbGs4VFBpbDQ0TjUzUlVHQlVHMjVSR3RnMzBURTVPbHZZMS9jSnU1NHZXMjVMYVNsYUgzQUJtTkl2aXNQWGhPampSeXZXZC9ISHlVSndGZWQycU1MU0hSL3ZBK2RBTDF0c0tPaXArSmhFOFkvd1RreFBBaWJFS0pLSTlFZm9rRXJSWDdIWUZQY3FBVm44YnBJR1BXMEsxM25QY3Y4UnlNODQvY1RuNk81ZkRPTWxxS3hWS3hWOTRueVVmK1ozcjBjaW0vQ1ZXdUdjelRjQlM0RWYvZE9FQUxPV1pTT1JaNHE5bFVzNG0yY0dZTWJLcktZN0FzTno1NEpVVXg3LzVYOGI1YjF3T2QvSG92alVwU3dHYlFLWDJWNS96Ynp2c0pkRyticitITmNqckV3NjhicmNMSDErdzNrcUl3TzBINHEvTDRkR0pNUVhhWGg3OUk3Y2Z6aVhaTVVTY255NkNaNE9mSVJ6UXl2UjQwM0VmaG5zaTBVWThQUGl1ODBHQTlLcEpoa3Bqb0MvWmJNTlhFZlhaMEl2bHN0dlE3dVQ2WDA5ekljODNoR3BCTzdMYXl3aGxzZDJobWU2cTBKM3Q0YnBRS3dWVXpReDM4cXVnNmlSY0hCNGIrU2xTK0tuNGgwYWx0ZzhqUG5BOXN0UlNiWm5WNWd2SkRuUWhteVBtL29xWTJNMit0U25rRU4rdzMwM2l4OGVMcVU0NGh4WVU5ZFRCTHl5VFRiVnAvajE4WlZjU2p2TVZ2aGRaSXZiN1RnZEpuTHA1L2kzTXJoRlpST2hnOTc0bTZ3cnRXcnFyZUhqb0M5OExlcm4rSXVuZzAwbmg2ZkdQVDB6d2hvUkJOYWtZeWtzMjI1KzMzZ3BJUm5rQjVEaStEN3VONngrNEhyVXVETjBkYlV6cWZ3ZTNuNGgydERhMVVDMk5aRWZvd3ZqRWVGaGRoazlkV3Fmc3E1akd2QjBSZWxlelBPQkZ2Q29UU0p4M3M3emhNcis3cDk3Sm81MUpzRmJveGRvZ1RUSndJRjQwTWltazMzblM0eW54ajR5TldCYUdHQldHQ0tTaVU0azJLZTJsNTVMdG9RTHZ1QnhxNTFBeGlDcDYyd2R1UnhWamhjNkgxR2N0Y25BVEU0UzJpNGFITEFxQ3Q4ZVkzRWgzVzJxOTVYUHZzMW50cGRDajU2dzJiNHZRUTg5UU1ZUlBuTUFpaGtlSGRYTDlDcnRxRnZrS3hXMVBpVCtvT3ZsRjY2MDdJL1JnbVpoRGROY25ZSktHZlNYVkNhcUJLNWhTODRMZzQwbTJlamwremF5dXA1c2ZRaEJTY1VGUFhVSlQvcVZrZS9UL3FjZUphbm9iTkk0VTd0dE9CeWljUHRlS3VPZHR0aTEzM0I5UW5VeU9aNUhIRStOSDRBSG01TllTdlB0UDdpZVU0NUIxVVNndXZtRzN1NnF2ZVlIWFF4QVRFK09TRVFtZFIydnRiMm5vclM5cUthN29xS3pycm12dGJ4MFFEb0QyQUFNYzU2eE9HQ0wycld6dnNJWnMzcERnejU2blNmeGFPVDZaN1dXa0lrQTFYckRaZGlQRFhUSTYvT3p4WTBDMTlQYlB2YzVzQ3RXQzhyK0JRR1cxV1NBVks5NEViL1FQdjB0bmt1ejZoZFBobXZ3V0loc2FGdmNNVUVwYjg2SkxnbDJUYll3amRPK0VhbW5lVTcva2UvbVU1N25EcmlkM094M2JiSC9vTyt2OTYyMFBIL0crcHBmZ0hGMlIwczNwSHh1ZkRuN3kzaVltdGtjYkVTYmd1Syt3cXhwZUJ1Y3YyMnozS0l2NVNIYSsrYjRPQnJNWUVUekIvSE1HZVhCTzhITUtxOFpKN2t4bXhoWnpsV01WUmlBZEhhSnhPaXZiYzVMS1ErNFhlQVJtTzdtbld0c24zRFdQTmpDNHI2MFZmT09hLzdXejNoZU91Wi9aNzNKOG04T1I5YllIMWxqdVhXRys2NCttMjM1bnRHVzcxM1hCa0JEbURhVlE3cm1KMVhVeTNzbzB4Mjlsd0ZVTUE3UnltZFdXZndSY0NhMU9YaEY0ZFUrc0tXaENGdVh4ckhHeCtIa1NVWGhkQmdKN1lXLzk5UXkzejl5T2tleHRUZUIxemlCZnBhUWx3MExxUUhNdEphZTRNVDY3TmlLNUlqaTJ4RGNzMzkwMzA5NGwyZEltenNRa1VsZEhwZ0lYZkMrZDlEeDN5UFhrVHNlakcrME9mbU8xNzB2elhYKyt1K01qNDYzMm1mS0FBcWVZMFZDVTJsaWtTSTFrc1NPZHBGTEhZczBzUzhJUkpqNTFQNTVOcWV6ak03NE11UEtPMDRHUzdycUZ0V0JSK0JHTlRpZmFmSFZQblNRYk1HQytWT1JUbWZDS3pYYjQvSnRwTHJQZU1Ub3VIUkIwVXVqbHpiMkY5VjA1bFcxcFJZMXhXVFhoaVdYM29vcTg3K1U0ZTZiWk9DU1ltVVViNk4vWHZobWtlY1h2eW1XL2E3cjNEV3lTbkR4ekF0MXpnNXl6QTYwemZEVWlMVHBZUFdUbnc2TWptN3cwWHRKWnY4YmxVbUY3RlhrUjNzZWpNaDZXQ0w1NEx0RTJ1ajc3aDFnekJBNEk2MWE2RytUeWlmdXhEallSaitZN0ZvVi9RTXlGYXdFaDZlSFJsVHR5TG9rRWIyTXA4ZENKeVhHeGxNWGl0OUE1algwRHRWMk1pbFpxTVVSUTBacFNVQitUWGhVVzk5QS9kRW9GbkpPczdoZmVLMnN2WmZEb3M2eG03bkM1WXY2cFlNUGZtdTU1VWZ2NzU3VytPM3BQbjhMcUpYMWtjWGZ0eHg0bmdIWmQyTzFCbWRsamh1S2JDeEUxY2ZGem4zTmcxaytQSDlFRjd2UXY4TGRXbTRNYXNxazhPdHd2R1dNUTU2U2pVa1hYbzJNUzRTQ1ZMKzVHNDRrNkIvaXROSFk5UkFBdHFLVmtsalFsd0FxZ0FwRkYzbkZsSVhYZGxTS0pRT1d3WU8yRDBrR1ZZVXc0Sk1wb0xyMFFidkdaK2NIZkd1OEtLMDhsQTFBSGg3b3U1S1p4WVRET2tWdzdWVHlBT3lTZEl2N0NiUTJPcUhhSGo1bi9PbHJiLzdpZk9KM2ljRERHRkIyOWFMUHR0MDRILytSMWVtV3dwbTlWb2lLa1l4Nkdocm1BTFpiMER3MHpKY09zUVFsTklPNkdJa0FMT21pbDlWMjVVSUc4UjlHNWp4NTBNcHFIbGFSR2ltQmtiTGlwcnltc09OdzQxdXB5a1BaeFgvVXJvUVowV2FWRTVjRVdjZU5xYzNiNjN0YUtjeFpLaUJpRTNCSEloMGFrT2xtZWlJSVk3UXIveTBrdFJYLzJPdk1IcjlPOU1uNDU5MWdJUCtEQjFjSFBMYlhhL0F0WldxWm9YL2ljNitNenllNmc4M3h4UDBmWUxocWlTa2ZZbzJQQ3NYSFI4Q2dYSXVDS0tIUk9BMVNncVNlL3FqMjloVm9oblRNUG1PZUtqbkx6V1BPejNoZmxMdEQyNE5kV2UwLzRhU3FNb3BWT2FhVVJhZVdzQTRCcmVwdWl5MUpRV1NLL0NxMUxYeVpUKzNYaE9qUlo0YVNaMlVtUzY0bko0Wkd4MlNuanZQZ0JuaVhtSXE4QXdYaFpKazYwYjBOdVpyUVVlMVFuTmcvSTNkTDR4Q2lEMTA3ajFIT0ZGQUFlR2VQak5aT1RveENCWkpnSmpXQnltN3FabFMzVTRnRis3MXdLS0JqaysyZDd3UVZlOXJ0OHlvc01BVC9JUXNEZTBKSllCZHBqSVlhL050cnFYaEE1bHd2Z0huUXJrb2pKcjRaR0pNZmpMQzRsMmMyaVFHUGpBdXFBV3p2dEJrNlVoVGd2L2g0dTdWMm5BeWNUYlJwWW5XQzdzbnlPNEhhUmp6SVZ6NDlQakhVejZ5ajBNdURuQ0RzSS9LTzhpUWtKNFJiR2hFTlNCbC9jeGVBMjlUQ3IrV0lWbXN3UnNkMVRIZlR1YTkrNHB6RUwvMXJyL2N3cC9lS0l1TytiYkgvaHpycVhkRGRZWjk2YnoxUGlPcklTakUwNk9qekxkd3lQTXZ2WmdSMDBnMmJxV1FZdmJISnliR1JNenREbXhlOVFkSitjY3lBL2syenZVaDRMczRjTE5DOE1JZkVEZkFldEJyNjl2ZjloMzBBZHZKMXdzQWR6RGhHZ1NVY0dSRU45RUFxTjB5QWNrbHVLc3VEaEFzSUxBeEVDOWNKdTN3alNBQXNFQlRqb2VtSUhLSUR0d2F2QmR4UTNCNVhHdjZhMzRmazc2NWJxZlArU3pycndpbFNWbG95TGNQNGl5YXhFZUZJNlNtUHhFL3NHZkxvWWx0MU1LN1l3dFl0cDFOQ3pjMlNNR05XOCtKSGJPcFpFZkN5cndLRDkybkhmM2dpOW0rbXVFcG5yQW9Ydm9OVStiRTZFWTIraEZuVXpxMkRuUUFzUndBVkNFZUFMZUNJS2xKOG5VcUgyNktHc3JSQXMwRFJLVDFkR2dTNzZYanJoY2ZhZ3k0bnREa2MyMkI2TXE1S0R4S3p1OU5IOGhkNkdaVEw4UzIrdmZkZGtKNTJuUXFDRXFkTTdMOXczSHgxVDFJNG5oMGNaL01FeWxpQ1Z6bzNnaXZJR0JNbHQvWnAxWFJ1cU9yNmdjLzFWNDRjNWRiS3BzUTA1TjdLOHZ2UzdSUEk4dExjYzl6V3l1a2paOTdFcG1UWGhCZld4RlcycERWMjU3ZjBsdmF4cWlHQkEwQW9wb0xFRmJkQjhPcWNaRG1MdWRJa2tRdjlzVjVzSEJBWFVEcm1sSG5qOXZNL0Y0eDVuOWpzVEZIaUgwL0VCSVp0OHFyRy83U1BUbmEvcXJpZndhMysvVk91N0pWcmZxc2ZZemMyT2NMTjVlc0J6R212Y0NxSmtqbVp5ZEp3L09Od3BHS29WRE5XSUpBMTBibmdYdzZLMVQ3MmhaMjl0MTlkZFRHTVlnb3I1cjZHMS9rcVdUc21iMVdaa1Y1OTZualFvQ0FJUnhHc0VnN3pFOHBDazhpREU4NUxtaE9xT2pNYnVQSWlnbTFGSkhhanRaejlDMklkRjlEQ3JoRU96RXlFU1ZSTzExaW5KM0RMRzBEQmNSNVlDWEVVSzhJUDc2YjNPeDdiWUh6YU10Vkw0T2R2TWdGL3BiM3hGZC8xek90UDRseHR1QS9tWks5WXZ6QTR0dWI3eVY3YzNWUGMyQXh0Y0hlWmZPa29YU1JwWmdoUWFKN2lINmRoSk42V3kzVGtpRkdNSlVqUWJQeVJITWtleXZlMTh3TGs4dHBGQklYbVZUUE1uTTJyaVFPTmpTL3hTSzBQeTZxSmdCUkFCdEFBOEI3NkFRaXVsME1wdzBrbXZWRG41NkNHOUpzRXUzdFFzU3A4MGZqaS8wMTduajdpZTJ1MzB3MmI3dzFrTmVlUzd4TkxCamU0WDM5RGYrSkljLzlvbG1QOWIzeTY1OVkxTkZrRjFsSTgyZXVjUzlWWEFqN2JXR1VzTUk0aEVvK09DSVVJRmF0akNIQ1kva1NQTTRvcnkrOWplamIxSEdMeFFWZmgvbk96bTBReHkvTjV4a0ZjcGYrZCszS0lrSEVVSThtVVVScXRubWkwNGZFU2hWM3hwUUZwVmFHNWRWRWxUZkdWYktud0IzR0ZEZHk0YVR2clpyWE9uQ0ZmR3hrZkQ4bjJ0WW8yUUF1dEErUU91WC9DUkd6K2MzMkdQQzh5cGF2ZERTczF2amJmOFVtL0RpMVBHRCtVSCtDVTN2LzdLNGV5Z2RBYWxNMDhQSk1HVExhb3lIU29BRTVDTVVNWFNWalJJZ2NtUDcyRTZ0ZE4wbW5wUGROQnVRa0N6NXorZ05zMjU0Z0h5SnlxZmNUUGQ3WmN5Mm9QQ0RncVNHRHFZcVgrV20zT1NoWGU2WFZDdVMyU2hOMFFBTGNpdWlTaHNpSVVVeWxxU3kxdFR5TVlmVkszOG8yTWpmcG11ZHpINVU4blBtU25sMzJwL3hEekJnYVFKK0hzbjN1bHRnMDF3ZnFUemgvTlQ0SDlKYTIxZGY3dEN2bmpnUzl0VHl2ai9iSFpRTWpJMFBpR0JDS1NqL2ZBQ2JHRTJuUnRGSGZEc1pGaDBNUzFaZ3BpSnlaRVorTUVaVmhBT1R3Mlp3N3JnbXlncVpiU1huayt3c1NzT0o5OVUwVjZLaUdVYlo0SUUxaWVERUVGRW9lZURoMzVnOVpBQ01yeWN1a2hZQkhodS9xTVl6TFBLK1VjQzY1dnBCc3UvSFh5VG5QeVRubWRSLzBEeXU4WCtTR0ZyS2ZrVVI4ejdwL1doR2NaL20zQis1UHd2dWJIR1BuUGFCQnI3TzE3WFdxZU1mNW42YXYvaUJ3b1ZnQXZnRDVienhDV0N3U3Fjc1BoeGtwSHUyZm92bEE0ZWliUDR2ZXRSRUY3Uy9rRjdEMFliazdVVXBEb3VLWTRHNFRvb1hjQjZJUUpvQWVvWllma2V5R29oaFlUU1FEaEY1UG5KRlVFNWRURXF3ZU1pUWxwNFViQk82QzNOZXhxWFpKWi8xSTN3ZkZzZGpoenh1b1JxQi9sZ1VtMzJPd2FiQ09YWHhlVEQrY21NbjhSLzQrc2xtbXUyZUlQTXlVdEQ5dG1oeXVESjgzL2JuUjRhUmg0bEdSM2p3aEVPRFZQNGd4VU1YbXd2eTUxQ04wRXNWR1gvazVPZ3pYRk4rYnRqVGQrVWNiNnRrZnBqc3VVWEZPcHVCZDlBdURLS3VFTnFBUXpCSTlYYUw5TWhLTWNsTk04dHZNQVR1UjFrZ1paZEZ6Y2ZmbHd2YlN1NWVVL3pLdUgyTHg1M1A0T3dqOGxYc3p0a2sreW1lT3Bra082dkRUYXFWSDRTLzd0Nld3U3l6QWVsb1RWT0YrZmlmL25HdC9udDFST1RvNFFYSE9rVlN1cTU0aUltUHdGY0VGYkFFUkgxNk5uMjM4bnU5YXhPY3FpTWI2UzMwMFdjc0VlWldaUkswaHI5Y3dOUXFBQlhoUWlndlRCZzZ3ZkdLR05BRVR4U2JXQU8vbG1PVUFlNFJyVFVxcWdGOFBNSGVRWVIrb2o1cE9hajhvZXd0OTcyWUFXbG1ueUtMV1IvWkxMdGRiME5MMDk1ZmpMeUs1UWYrSmRvcnE3cGFTSW1oa1o1L2ZiNnVmaHg1V0tFTmFqYStNVGdDS0VDVEdqQnlOZ0FjaE13OU1sSkluR2VnVCs5N1NGUjFaUnBQc3BwNW5tQlpDVWJCMytRZnoxUUUxRWFJZ0JkZytuQ2U0Rzl3QllnQlRBNXAwUnpDTUl0eGNvdDFSb3ROTjk3QWZ6NEtxOHg5NHpYaFNOdXA2RDU0RHpnZlB2Y3ppbDR1MDloNUZzR0cxK2Q3Zm1tbFIvZzBkenp3c0gyM2ZNaVZJTEh4YitZSGVSUHBZWXF4ek9OSDFyMGUzZFU5ZFErZEQzNkI4OVRLUGk4WnJlenJLK1JmS3k2cXdZVEJZb0dFVnp5dXdMR2RpdElFd1ZjdUFOSXdTeGFIMlFHZ29CUjJNYVoyc1daT2lWYXdNOHZJQUxFWitkVU54QStFTjVOZGdlL3RkN25rdWxMM2c4cHFMbGZndVZQaFgxNGZoV1R2MFJqOVlkR083OXhPUCtlM3RaNThILzFnc2JxR21xTFloZ2NNVXNnNFZLNW5Wbk44U05qQkpHZnhsL1c4d2h6L3BublNSVE1lSVA4amFGYWtJVnJhVFQ1Y0VCQjZCNm5ZOGhQSVlJelh1ZEIxMkc5R29IcVlHK0k0YUF4c0FqamlEdVFoV21rSGxpOWFaUitKMU5GeHE0c0ViZzY3WENqVFhhSGtPMnRzZHJiMkNjZmFFMXY0d2NtMjFSUFBqeS9UUE9KcHJHS0lEeFRuRWVWQ0w1YWN2MHJqN3dJeFV0RHlqeFNIMFY0RmxvN1pCdHd4VVI0bnNidlZCNUxaUGpCTityNm1xRlVON084OE5GR2x1M0JZOSs2YndqL0RINTJ3T1VFaUNvcTluQmRGMzB2azFKQUFnOUJhSWZjaEZlSFVxRGhKS3BFSGpVWDBBS2VtSGNsU0dlMTVkNURYbGNrSS9KU21tbUtwN0xiVjJuNW1QeEY0ajhWZGxkUmQwaHVpTG9kZis1UzFDSDl4TXRNSVZFVW1jWi9MdDZLaVB5V2FzOWJiWG5KYmljcTZ2Z1kxWlNQbXhCbXRqc2UzMkI3QUY0S2pucWY4M0hDRnR6UHlLUndBUUVjMlNzRWNUM2dHdXhDUTlad2NpZE1oOEdmdDRDbEVBcElybTZNbFU5ZUdIa0ZTckhDOFpUYzdVMXpudG1XdjBqd21QK1ZOaWRSSmlJN1o0dVpPYzN4ZEFHMW05MG1HU0V5NVduOFZ2bjMvbjN2K29jdVIxNnpKWkNqWVNzQ2NpSGN4Qkt5djdMWWpiTDhPcHNEaUZLdzJGMk9VQVJDQ3RBRjVLMG8zY0Fvb0JGdzZZcDJ6dnVpYjQ3L1lsYmpRQ3ZGc2tpR0k2T3A1SFg5amZKc1Z6bm15emlQWFBrWFBmbkEvNEh1WmhRRnljNnJla3NNa3EvcUpWNjJ5ZElWU3Via1A4VFdFZ0dyaXRZYTBaQ2puKzJEbFN5czUrQ3h1cDZHdjV2dC9MZkZicXpNWUgwS3ZocFpDaWtGNkFLaU53UngxTzNVTWZmVFVBcWllUkIvOGZHazUvbUM1cUlGOUgvV1Y2amJudzgzazdGZGd2RE0xUHduc256d0g4TDQwVjdRL0JvckF1U0xzdHVTdllwc0RKT3ZlUlZhY3dlSjZ1Qmo2citrNWVRM2xXQTE2cTkzZC96TGZOZEtpejFRaExVMk1pbllIWVpUZ0VWQUVQQ09rQVg4T1pheHlJYVB1SGpjNjJJTHJXMlJJa0RwNGs2aTY4dTZHd2p3Y3A4L3BmbFBOZm1rQ0VSVG1WSXJxK0ZlbVZ2aW8vQ01wZ2NpS1ZFSWxPTkhoaUFjcXBXTzlDRm5CbWVXY1lQcDVkZjRxblFzeFgxbXN1M3p1OXYvWnJZRGlyREtjZzlLdE45WkV4WUJRY0FvNEJxMkV1MElnamxVQTMveEVSZngxU0dQODkxVDlkTEhDZ0wya2xpZi81bjVBWUx0ekNFOGkzTjcwNU5QNGxjVUN4cjZxNkpyZzl6eXpjTXF2SnNaeE5LWUhEOTF3Qm0xUVFyZG1NcnlZSEJqdU9KaXNiUnRlSXdGNWpUNTQwUnNaZHE3QnBzK01OcjhzZkhXUDB4SkFib0FwN0JhSmdoRWI5akY5emI3SVE1RncwY0VObnoxdGRXKzNhNW5xN3JxRnI4RmdDVmdId3JTZnhFSkgySDJUNm41Q2hOQWFZQ1VlM2xQb1VXR3RrN0NlWXQwclRZV1FXMm04TE5kbXFpbk9tajZ2U3hYbE1xUUtpSmJIaHJ1UXNFYy9EbW1NaFZGQ0JDeTN4aXFmV2kwUlM0RjArMy9kM2ZIUDh4MlFoRFFDTWhpcGVVZTZBVWtnb1lUZk1SRk5OendUN09kMzlrZFRhak5Xb3c3Sk1lS29PTmRIUHVPd2JZWkFmL3hNWC8yNUN2clAyV2dPYVRVTGJMU0o3NDJaSWI5aXlTUDJNSTBOc29qNG1La2g0TlNoSWRlR1ZVV3doeXlHZ3BSZ1VJUkZ0bm9jb05Oa01KdmpUYi8zcGl3aUQrWWJ2dVQ2ZmEvM0NWazhjWGRIWDgzSXlSQ05sZ0tYTVpmN3U3NDNIVDdIMDIzNCtiL05kdGxudUk1TkN4NXJCV1FOMEJmcW5zYXY3QStKbU03aXduNEtzQXYwMWc5N2YrYUU0eVNyK2ttWGJITE1lUVBFV3NoUzBiSHNVeTV1cjVIcmFVUCttK0ErYWR4d2dZRUdVZ1ZCNlh0eUJtUVAxWlFhaEdRVUlFbnBVRHF3cnVHYXU5UENRSUwxWjhZYndYQy81blpQalhaQm1XQnBLQTFIeGh1ZnM5UTdSMUROZFJ6dXdjV1dwT2RKUjJXa0tQbXFiRVUrQi9EOWxTQXgrUy9xN01KaXlKa255d2hyYUF0MWFmWWxpSHNKelVSK0RuVmxCWFZsSDgxOU94cjY3L1J4YkJCZXNqaUovTUd5d2FIZ1I4dVlJZ3BHQ0Jxcnpycm5wdVNBdEpTSkdkdjZtOUVpb29zSGJJQU5vZ0RJQlVOSDZFcCtBbzNRRjY0R1kvZ3dWZjExbjk0ZDFkSWVUS1d0QmVwQ0NBd0YwTE5sbW1zbVMvUG1ib3VqM2tLeThmSmwxYkh5SFVSSEQ1RnR0cUpGMEFCUFF1c3NPSkk0SWVIYSt6ZDk2aGJyWTEyalRyZ3l1TEg4OFJGaUFVb21BMk5kTU1GamsxZ1hYSGtQY050UkV3aXBhQ3pEaUVheVFuVUFYakFWZEhla0lsalZvTzlBRE8rSldIakVTZ1JoRWlzWk54WmZ6SENRdVY2bGtxaGdNTVFJbEJmUGI4SVZJQUgvdVBCcUhQTFkxbmdReWZmRW9jV1JoMTNrRVZXME9IL3NFSkM1UThXOVhQOStqbStxSTJpVHN6Z1BlQ0tDb1dTQmhRUDRRTEdKa2EvY1Q2UDhndGk4cFFVcGdVQlNDalJrT0o0Ulc4OWNKSU5IMEZqQ2N5NmhMeGdRVVFORzVRV1FpVEMrOXJkL3RxTGQ0Y1lLOVo1TjdoZmYxTDhEbG55QmF2aE1Xa0pKZHNxVTBjOTluaDJTd0lwWmJuL1p3c1Q2cm8zTmxQUG96Q0VFRWpuUnFOVWd2a2ZHV05qL3VFQ3RSSmM1UUdabE1KdDZBS3BEbVFqR0JzbWRuYVRYWmUxS2RoeVlrUGtzOUhWOHFYRWJsYXZkSXFpTG13UjNRTjk3OTVSbXkvVlUxWjcrYm42cXZJZWVRby9JS0xySjEyOUZuMDBxZTUrRDBlZW04cnhTNFk3NjN0MnR2WmRvUTY0WTUxSUtIa2tralNoWURRVkFrZlNHNHVKMmd2UlpMUkUxc0JQbjd1OTlwZDZLTkZ1a3M4cUlSUlZqUkFaTU12U2VGbjd6R3ovZ0lnZzExQ0JmZjQ2M3psZjdPS29YcUtmSlJHZm90ZzUrRlZyUGtUd3Y2YjdPR0krMlVQblFFdFlsYS9tZzFPYXNTZjdlUEtGTERsK0VENytZQ0dXeXBqODJINTJBQkVDaEptQ29Xcm9QL3cvYklRcDVMeG51SjFnSTNJcHlBWHhsc0hXc281cUVLVFg3bXdrNE1sd0VsRGxhS2NCVC9NNVdROVhvKzFJcyt6aDBGREpRNUQvMUd4L1JWZjlZejBpVm1MK2FMcFBTUVR6Z2dmK3l4RldpZzZqcXdOamE0T0x1M0xxK2l2STVHOWEvOGtQUERFV2NHNTNNKzFwbkJDd0FKQWZza2hHenRMaElFT0NpcUZCQ2xPQzJPZXZqVy83T0xUZkdPOVV6TzJNRTlseXpYU1RQZnZLN2U4TDJ1V2xQci9pQjFQMWpOVWZHKzh1NnlSbzZjS0hUb0xiQWc1ZllRVXZhcTdKYWlsVGRKWFZrdWlTYjRiNmozTG5NL0lma1A4dWhobENBTmJNRk1nVmR5ZldGeXk3K1EzQnhwQ0tUQW1DWEkyR2RMNndPekVEcHpKbXNtSlBNbG1pclZsaGQ1S3Nkc0QvYi9GUWx4ZHp3TzAwVm4xc3RMdE9xV0tsVWhERkhiVXkvQXZOUEw3OXU5VVBDcTZGYW9kMTVwM0xVWWQxRWk0VVU2WjNJcy9PLzdBa29zaDhVQ2Q0VUJ1a0NCN1lDL0ozMjVQeXVTS0tVR3RlMDE0bkdCS1JRengrejJBS25nTG5OT0NwMUoxNGFxbm1HdXZNSVBJcEtwZStESEtSSVpmVEcvVlYvMmY1QTNmQm9pV1Z5MWl1dldGaC9FdlZWem9wVmI2UzZ5UDhpdXhZSXBwZ2lNc2ZraTh1ejlaL2hiQ3hkQU1QR1ZyaHBSMS9qcTIwZFFNN1VKNGpzaEZaK1Uxek5md1d1U0tNdzZNb1pxazhSU1dyRkNvYjhkVHJPaHM2cDNiMU9lVGVWMGF1S09iZGlYZGR3QVNRSFgxaXNHTmgvQjhhN1ZMTURiWnFWUFVVbWFScVhvODVGbGRITEhzcUR0WDVmME4vcFZYbW5iU20yTEFLcjRlZE9ZcTcrVVBDUDFrY2xrMFhRY2p2SzIzRnFPeDg5T0t0N3hTaW1mZEVZL1ZtRDNWRmg4U2lIY2xxWjVZeHNaaUZIVjd6aVdBeCtOMExwaGNnYXFsbEdySEgxV09PaDVaN3RqQWVQUjQvdUNGdmtKM1ZrbUNVb3A3V0dLdWN0MFpYWnhGajFWaTEvSTVhbjlJK0RGankrd2dRVTZveGxiR1FlWXNzZFpscWtSVnA1QWlhK3RwZnZ2bmRmSHpHcS9qQmZQaHBmTmI3dXBzWG1QKy9XZjJncUthaWs2RVJjV2xYcm1PT2tWMjJBVmpRNC9IakRyOFNCL3NjUXp4UTJWUFV5NTJ1WktNV3ZNVlRFeUxZNDZjemk3MmREYjJyakhOYXNaVnNHMUpUN015Mm1MbGlQVXNRSndMMTU4UGZ3dXg1SGpLZHgvKzlldlBid2piNUJsbjBrRkFmam9LZlM5N2RzRXJ2T21yWnJPMVQ4OWEvaGtjbHRkVFNXM0ZuTERPMHMxc1N4Vkw1c2lSNlJEbmxBLzN0eXNwUERqU3JzV1JhbVJWYVBmUGtZaVFXcEFpWGdab24vUE1DK2N3bTUwdno0UTkrbURBZitHWHFxd3lUUEpWQmRyRmI5Wk91bUtacVJsWUhDR1ExejBYTlArWTJwdVplWGxzeXZLQmUwcFhRQ2svbDNaNnBqY1c5M0JsN2dkRXBtTWtuaHJzV2dQUzh4cHFTamxyeTllVmQ5YS9kWEx2QXpWdGRyNnJFRDJ6SEVHdm1tZndON3RmSTdhREtSd090Q21HUElWQ1JkQzlVLzhUV2ZaaUFkYWFPWDRtOWQ1RU5Senk5NndxeW1Gdk13aFdkUlBjRklQM1Q1Z1NxL2VUSWRPSVZIR1o2MDRieXM1ZnVtNnZFajYyZWI4OFQvRDQzTzlETm5pYlJ2VnhLU2tNMDFqK1I2clhRNjhpQzkyTG5uN3l2c0NNanBOeWp1Q056ZEh3RW5nTi9GYytyRkVFM2g3YWM4RXlxSVZtbnlUZnpJeko5WVhsMHdXVCtxNENIaVNyeEk1OVRPZm5MdFRjMksrMlJSY3h6TDdDTXF2S3p5OWJQYlNXVytsVWVqNmwvQTNBVHZRWXFSK1AzV21mcTNxLzBVZlo1RU1IY0JOWW8xZTg1Vld0eWIySjhESG5XQWZLTHN0UUNtU3lLOWd5ZWl1MHpkUDdBKzdwYjV1TC9VSDliVmJjOHp3Tk9EQmprTGFMS0Y5bnUvWEl2dDN5enA4UlBQdFpFcXpaSXZtYWZiUUF2Z3BVajViN3dKZ1VGSXErRHVxMEFUWnlqQXRzOU5VbGhRV29YSXF3WHptR1BCdWpOSFRGV0I0Z1FNOGZ5UDc5N29MeHpPcXFqZnpoc1JHNjNBbk94VklCQWhnWGZuNFFmRk1nMlM4OHVTOCs5d0NLNHpFMGs1U3QzTjNjcllubG4vWHQzWmxnQlpqdTBuUGd0S0E3dzZJK01acm5KR1V6K2pkdnJtbWlVV1NNR0t0ZUNxQmMxdjU2RmY1WGorVFpHdC9MTldOakFiTVZVQjJyR252QXN0RUxOYno3d3VQNFkvU2VmeEE3MzFNWm9yMElyKzJ4RENNSWh4eENNWWxhbnN3d2g3bEVlZEZneHljdjF0K0VISE9Ram1TZ2x6Sis5TE5OWTVaSWJQc3U1UXNSQjVhbXYza0s4VUpLVStzb0xvWGY1VXdrSW9WbjRoUnExRk5vZVV4MkErWGZOTjJ0ajFpOWNZbG9VZm5TTmpBQXJaekFudUpPeXJyemlqZ3lVVTJhSlFHWUwwejlVTG1xci9IaHFucStHVCtmaEo0S041NHRlcjl6NHhuek9EbTlzekhBdWlIb2VDY1VVK0tYWFYzNXFzaWUrTmxkWlRIZzFsbmVOVXE3WDlKUUFmRVYzQVRZNUtEdHNsVnF3V1B4NEdBdEdEdG1HQ0NUVlBjVzZpWmVRVHNLdTV1NUdWL3dMQUR6U3llNDdIWHIzamR2cnl5anlyQjZsNkxkME5xckUvNm5KM2dmVjJlU1BYeFVIS0RiS25rc0poeXFmK1RkMU50eDg0RVRuei9DT28rUERLUTFSa1pXK0pxa2FJS3pnTExsdGNuTmJRUGtYcS8rS0xyclliYWdjcGpaRW1hZHJWZllVQnBRNHh0UUVrUnRKbEE5TUMyQ1Fvc0hmQnZxMG1HS3FzNTVUbjVHNlA2LzU5UXFiRTFZWmdmRHR5cDFnRDhhOWh3bC92THRmZ2Z5WHQ5ZWR1MitCM1U1eklTWFhSMm9ubkkrdENhcnZyM1RJTWZJdXNoMGNsaWZtenhJLytvSTd3ZnF4VWZKMTBDSHZZbHRFQkt5bHFud0g0b0xpMThHS0crcXByVTdaSWFZcFBtaFc2UUhSRldtdHpCN3h6SjJzNEpHaHBjbi90RDZHM1Rza2VQaExrMlR2ZGxidkxPMUF0OEJaM3BVUFk4UjRqRk0xVU9HRkxpRDRMd3hiOGUwVDZML2lHUkFoMU05U0cyT2NjbzFSR29lRHdWdXB2RTZWZTlMeEZHNGdYY01DNjU5WVl1QU9DZFBxQy9IYnJsL2ZVWHRCYzgzcld0Ly8xZUx3clFkT0JhMFZjQUh6NGVsa3QySS9DN3h5TjZjZE1SOXF2L2hWMWlmV2Y4VWdBT1poWnk2NWhOak9hdFJMdW15Um9ZVWFBN21vTXQrQkhCbURHeHNmVi9oa0tydS9xTFhDdHlSZUk4cnVXNWZMYW03WExvU1lPdVNFSnRVWDlpb3gyYmtkRG85SkN0clNNQk9JUlBCRXhzblhrYVQwOGJvWE9lMC9hZjZWMzRFUklDS1lwbXJrdGlZOTZpdkg2Z3BieElEaVArazRGbjgvNGVkRmpPanFBS2RjRXhCYnFMci9ReWVrYWxqUGZJcjNQbzMrSzQ4VlpaS2srbkFzSi9YenV6RWdERXMvNlhJL3I1dktWZUdsRmc5eTdwMUVEYXUzSks4dHhidkltczd2dGNuVXpXOU53Wno3RnRzSGxib3lCSDFQMS9sUHhZKzNrdlpXMTFkbW5hVjdyOHoxWE1TK3dGSVhrQVdzTjhRL0NrTUVCbjE2dXNHUlQ0SFBnWDA4NnF2QXBxWHEzb2ZSTllHWTdXSktwbitwVTBaekhNeHc4ZDV1N2pDZUFYNnlVM0FCNkw5cDZnM1BBc3VMa1FmZ2s3SFRDZzVaUEN4RUJvbHFhaisvQnpCa3pua2hjVUNhY09ud0kzZ1FzdzA3QjQxRHo4aEJ3ZVRoZDdHSHhURGxPbVNkVkI4eG44ZGR2TGlmR1g2OEVrUUFVc2hyVFlaeXdpY1pKbDAxUzd0RjQzV3J4NTdBMExIbEJFSnh6RFh4S2JZdmFzOW9wRlVCRE9xcmNLSW96cE83RVhCVTloVGJadWsrcUFscW90VmNqanFVMlJ5ZjM1NGFVT3FNQ0ljZXdEc2lxL3haSWpyYy9rK1o5bWZtLzFSNVppbnN2N1F6cDdhdnpBeVl1L1BCbXE5R0g3YkkxQWI0L0xiVVJsbzF6QVJ6VzlhVmZ6WDZLRW9NNFpVK2hXMUVVUlRHZ29vamJzRGtQNlRrZ0dWb3g1OXZwdFZveEo1QUdRNTkwZ1Y5ajZXMGk1OTgzUGtzNTMvV2krR28rN2lkSlpRc3JMZEFIVEJ2dHRrR05kU0g4Tjd1UmRiMXRDb1VseXpUYnJrVldHQmxEaGtySHNjamNCeFlxOGh2UzRtdkMzVXRzSWlxQ2tocmpBYmpob3Q5b3NYeVJVcmhaOFN2UEFKb0x6UWNUTUVDQllrS2I0QXM2OHhEdkNBWDVJTkxYUzB6ZFJMcmlZM0s4TzF3NlpBSTlpcHg1dmtGMFNLeExlYTIveEQrV1VPUmpBN0JGNUkvRUVJMUFWNmp1cSswbGZuNHhkL0ZRSHFpZS83LzRIK2lJZjZzTi8rMzQvOS9pSE1tdXNrc3g3c0FBQUFBU1VWT1JLNUNZSUk9KTsgfVxuXG4uS0pFV2lkdGhDb250cmFpbnQge1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDE1cHg7IH1cblxuLktKRVdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLktKRUJyZWFrSGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5kaXYuS0pFTG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLktKRUNvbW1hbmRCdXR0b24ge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBmb250LXNpemU6IDEuMGVtO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAjS0pFU2Nyb2xsU3RpY2t5LCAjS0pFRml4ZWQsICNLSkVDb21tYW5kQnV0dG9ucywgI0tKRVJlcG9ydEJ1dHRvbnMge1xuICAgIHdpZHRoOiAyODVweDsgfVxuICBkaXYuS0pFVGl0bGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLktKRVdpZHRoQ29uc3RyYWludCB7XG4gICAgcGFkZGluZzogM3B4ICFpbXBvcnRhbnQ7IH1cbiAgLktKRUxvZ28ge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuS0pFUmVwb3J0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGRpdi5LSkVSZXBvcnRUYWJsZURpdiB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAjREREREREO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgI0RERERERDtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMCAwICNEREREREQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgdGFibGUuS0pFUmVwb3J0VGFibGUsIHRhYmxlLktKRUNhbGNUYWJsZSB7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07IH1cbiAgdGFibGUuS0pFUmVwb3J0VGFibGVTaHJpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgLW1vei1ib3gtc2hhZG93OiBub25lOyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IC44ZW07IH1cbiAgdGFibGUuS0pFUmVwb3J0VGFibGVTaHJpbmsgdGgge1xuICAgIGZvbnQtc2l6ZTogLjg1ZW07IH1cbiAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVTY2hlZHVsZUhlYWRpbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAuS0pFV2lkdGhDb25zdHJhaW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUxhYmVsLCB0aC5LSkVMYWJlbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUxhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cbiAgdGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFTGFiZWxQYWQsIHRoLktKRUxhYmVsUGFkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFTGFiZWxQYWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZWxsU3Ryb25nLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbFN0cm9uZywgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGxTdHJvbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZWxsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAjS0pFRGVmaW5pdGlvbnNETCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgI0tKRURlZmluaXRpb25zREwgZHQuS0pFRGVmaW5pdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAjS0pFRGVmaW5pdGlvbnNETCBkZC5LSkVEZWZpbml0aW9uIHtcbiAgICBwYWRkaW5nOiA1cHggNXB4IDIwcHggNXB4OyB9XG4gICNLSkVEZWZpbml0aW9uc0RMIHAuS0pFRGVmaW5pdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjkwZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gICNLSkVEZWZpbml0aW9uc0RMIHRkLCAjS0pFRGVmaW5pdGlvbnNETCBsaSwgI0tKRURlZmluaXRpb25zREwgdGgge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gICNLSkVEZWZpbml0aW9uc0RMIHVsLCAjS0pFRGVmaW5pdGlvbnNETCBvbCB7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgZGl2LktKRVJlcG9ydFRhYmxlRGl2TGVmdCwgZGl2LktKRVJlcG9ydFRhYmxlRGl2UmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIHRocmVlIGNvbnRhaW5lcnMgKHVzZSAyNSUgZm9yIGZvdXIsIGFuZCA1MCUgZm9yIHR3bywgZXRjKSAqLyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB7XG4gICAgZm9udC1zaXplOiAwLjY1ZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHtcbiAgICBmb250LXNpemU6IDAuNWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgZGl2LktKRUNhbGN1bGF0b3JUYWJsZSB7XG4gICAgcGFkZGluZzogNHB4IDAgMCAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDA7IH1cbiAgZGl2LktKRVJlcG9ydFRhYmxlRGl2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IC43NWVtOyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbGwsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFQ2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICNLSkVSZXBvcnQgdGFibGUuS0pFUmVwb3J0VGFibGVTaHJpbmsgdGQsICNLSkVEZWZpbml0aW9uc0RMIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRkIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTsgfVxuICAjS0pFRGVmaW5pdGlvbnNETCB0YWJsZS5LSkVSZXBvcnRUYWJsZVNocmluayB0aCwgI0tKRVJlcG9ydCB0YWJsZS5LSkVSZXBvcnRUYWJsZVNocmluayB0aCB7XG4gICAgZm9udC1zaXplOiAwLjY1ZW07IH1cbiAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBwLktKRVNjaGVkdWxlTm90ZSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLktKRU5vUHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI0tKRUNhbGN1bGF0b3JTY3JlZW5TaXplIHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYXZvaWQ7IH1cbiAgLktKRVdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAwIHNvbGlkICNmZmZmZmY7IH1cbiAgLktKRUNhbGN1bGF0b3JUYWJsZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzY2NjY2NjtcbiAgICBib3gtc2hhZG93OiAwIDAgMDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDA7IH1cbiAgLktKRUNhbGN1bGF0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAuS0pFQ2FsY3VsYXRvciAuS0pFTWFpbiB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIC5LSkVDYWxjdWxhdG9yUmVwb3J0VGFibGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLktKRVRvZ2dsZUljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLktKRUdyYXBoSWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuS0pFSW5wdXRJY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5LSkVEZWZpbml0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLktKRURlZmluaXRpb25zSGVhZGVyIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAuS0pFRGVmaW5pdGlvbnMgZGwge1xuICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhdm9pZDsgfVxuICAuS0pFRGVmaW5pdGlvbnMgZHQge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5LSkVEZWZpbml0aW9ucyBkZCB7XG4gICAgcGFnZS1icmVhay1iZWZvcmU6IGF2b2lkOyB9XG4gIGJ1dHRvbi5LSkVDb21tYW5kQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNLSkVTY3JvbGxTdGlja3ksICNLSkVGaXhlZCwgI0tKRUNvbW1hbmRCdXR0b25zLCAjS0pFUmVwb3J0QnV0dG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuS0pFRHJvcHBlclJlcG9ydCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlSGVhZGVyUm93LCB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlLCB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlRXZlblJvdywgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ci5LSkVTY2hlZHVsZU9kZFJvdyB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIHRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsLCB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFN0cm9uZywgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ZC5LSkVTY2hlZHVsZUNlbGxTcGVjaWFsIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlcjogMXB4IGJsYWNrIHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cbiAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVTY2hlZHVsZUhlYWRpbmcsXG4gIHRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGguS0pFU2NoZWR1bGVDZWxsLFxuICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRoLktKRVNjaGVkdWxlQ2VsbFN0cm9uZyB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cbiAgLktKRUJyZWFrSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzOyB9XG4gIGRpdi5LSkVSZXBvcnRUYWJsZURpdiB7XG4gICAgYm9yZGVyOiAwIGJsYWNrIHNvbGlkO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDA7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMDsgfVxuICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB7XG4gICAgYm9yZGVyOiAxcHggYmxhY2sgc29saWQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMXB4OyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUxhYmVsIHtcbiAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcbiAgICBib3JkZXItc3BhY2luZzogMXB4OyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxTdHJvbmcge1xuICAgIGJvcmRlcjogMXB4IGJsYWNrIHNvbGlkO1xuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7IH1cbiAgdGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbFNwZWNpYWwge1xuICAgIGJvcmRlcjogMXB4IGJsYWNrIHNvbGlkO1xuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7IH1cbiAgY2FwdGlvbi5LSkVIZWFkZXJSb3csIGNhcHRpb24uS0pFSGVhZGVyUm93IHtcbiAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcbiAgICBib3JkZXItc3BhY2luZzogMXB4OyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxCb3JkZXIsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbGxCb3JkZXIge1xuICAgIGJvcmRlci13aWR0aDogMXB4OyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxOQiB7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gIHRhYmxlLktKRVJlcG9ydFRhYmxlTkIge1xuICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG5cbnNwYW4uS0pFQWNjZXNzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwMHB4O1xuICBsZWZ0OiAtMTAwMHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5maWdjYXB0aW9uLktKRUFjY2Vzc2libGUge1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG5zcGFuLktKRUFjY2Vzc2libGVJbkxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogZm9yIEludGVybmV0IEV4cGxvcmVyICovXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5maWVsZHNldC5LSkVBY2Nlc3NpYmxlRmllbGRTZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmxlZ2VuZC5LSkVBY2Nlc3NpYmxlRmllbGRTZXRMZWdlbmQge1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG5hLktKRUFjY2Vzc2libGVTa2lwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMDAwcHg7XG4gIGxlZnQ6IC0xMDAwcHg7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmEuS0pFQWNjZXNzaWJsZVNraXA6YWN0aXZlLFxuYS5LSkVBY2Nlc3NpYmxlU2tpcDpmb2N1cyxcbmEuS0pFQWNjZXNzaWJsZVNraXA6aG92ZXIge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5LSkVQb3B1cExpbmsge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI0tKRU1lbnVXaW5kb3cge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVENjBDNjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTtcbiAgcGFkZGluZzogOXB4O1xuICBtYXJnaW46IDFlbSAwIDNlbTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMzMzMzMzM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzMzMzMzMztcbiAgLW1vei1ib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMzMzMzMzOyB9XG5cbiNLSkVNZW51V2luZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTBweDtcbiAgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXG4gIHJpZ2h0OiAxMHB4O1xuICAvKiBjb250cm9scyBob3Jpem9udGFsIHBvc2l0aW9uICovXG4gIGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzVENjBDNiB0cmFuc3BhcmVudDtcbiAgLyogcmVkdWNlIHRoZSBkYW1hZ2UgaW4gRkYzLjAgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwOyB9XG5cbi8qIGNyZWF0ZXMgdGhlIHNtYWxsZXIgIHRyaWFuZ2xlICovXG4jS0pFTWVudVdpbmRvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cbiAgYm90dG9tOiBhdXRvO1xuICAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cbiAgcmlnaHQ6IDlweDtcbiAgbGVmdDogYXV0bztcbiAgLyogdmFsdWUgPSAoOmJlZm9yZSBsZWZ0KSArICg6YmVmb3JlIGJvcmRlci1sZWZ0KSAtICg6YWZ0ZXIgYm9yZGVyLWxlZnQpICovXG4gIGJvcmRlci13aWR0aDogMCAxMXB4IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudDtcbiAgLyogcmVkdWNlIHRoZSBkYW1hZ2UgaW4gRkYzLjAgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwOyB9XG5cbmlucHV0LktKRU1lbnVJbnB1dEl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxODBweDsgfVxuXG5pbnB1dC5LSkVNZW51QnV0dG9uW3R5cGU9YnV0dG9uXSB7XG4gIGZvbnQ6IGJvbGQgMC45ZW0gQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gIHBhZGRpbmc6IDJweDtcbiAgbWFyZ2luOiAycHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogNjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KSwgaW5zZXQgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIC1tb3otYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KSwgaW5zZXQgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KSwgaW5zZXQgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cblxuaW5wdXQuS0pFTWVudUJ1dHRvblt0eXBlPWJ1dHRvbl06YWN0aXZlIHtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDFweDsgfVxuXG5pbnB1dC5LSkVNZW51QnV0dG9uV2lkZVt0eXBlPWJ1dHRvbl0ge1xuICB3aWR0aDogMjQ1cHg7IH1cblxuaW5wdXQuS0pFTWVudUlucHV0U2F2ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIzMnB4OyB9XG5cbmRpdi5LSkVNZW51TGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiAxODJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5kaXYuS0pFTWVudVNhdmVkUm93IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiA1cHg7IH1cblxuZGl2LktKRU1lbnVTZWxlY3RlZFJvdyB7XG4gIGJhY2tncm91bmQ6ICMyYWIwZWQ7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdLktKRVJhbmdlIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMTNweCAwIDAgMDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXS5LSkVSYW5nZSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogLTRweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfSB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJvcmRlci13aWR0aDogMnB4IDAgMCAwO1xuICBib3JkZXItc3R5bGU6IGRvdHRlZDtcbiAgYm9yZGVyLWNvbG9yOiAjNjY2NjY2O1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCByZ2JhKDAsIDAsIDIxMiwgMC42KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsIDAsIDIxMiwgMC4zKTtcbiAgYm94LXNoYWRvdzogMCAycHggcmdiYSgwLCAwLCAyMTIsIDAuMyk7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJvcmRlci1ib3R0b206IDEycHggc29saWQgIzAwMDBkNDtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsIDAsIDIxMiwgMC42KTtcbiAgYm94LXNoYWRvdzogMCAycHggcmdiYSgwLCAwLCAyMTIsIDAuMyk7IH1cblxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDA7XG4gIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAycHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMjEyLCAwLjYpO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwgMCwgMjEyLCAwLjMpO1xuICBib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsIDAsIDIxMiwgMC4zKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCAjMDAwMGQ0O1xuICAtbW94LWJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwgMCwgMjEyLCAwLjYpO1xuICBib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsIDAsIDIxMiwgMC42KTsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiA2cHggMDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDA7XG4gIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDA7XG4gIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy1maWxsLXVwcGVyIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAycHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwgMCwgMjEyLCAwLjYpO1xuICBib3JkZXItdG9wOiAwO1xuICBib3gtc2hhZG93OiAwIDJweCAwIHJnYmEoMCwgMCwgMjEyLCAwLjMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYiB7XG4gIGJvcmRlci1ib3R0b206IDEycHggc29saWQgIzAwMDBkNDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsIDAsIDIxMiwgMC42KTtcbiAgYm94LXNoYWRvdzogMCAycHggcmdiYSgwLCAwLCAyMTIsIDAuNik7IH1cblxudGFibGUuS0pFSW5kZXhUYWJsZSB0cjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbnRhYmxlLktKRUluZGV4VGFibGUgdHIgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbnRhYmxlLktKRUluZGV4VGFibGUge1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDFlbTsgfVxuXG50YWJsZS5LSkVJbmRleFRhYmxlIHRoLktKRUxhYmVsIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMjAwcHggMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTE5MHB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG50YWJsZS5LSkVJbmRleFRhYmxlIHRoLktKRUxhYmVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDsgfVxuXG50YWJsZS5LSkVJbmRleFRhYmxlIHRyOmhvdmVyIGEge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ci5LSkVGb290ZXJSb3cgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBpbmNyZW1lbnRlciAqL1xuZGl2LktKRUluY3JlbWVudENvbnRyb2wge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwMDUzQTM7XG4gIGhlaWdodDogMjhweDtcbiAgd2lkdGg6IDI4cHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4OyB9XG5cbi5LSkVJbmNyZW1lbnRNaW51cywgLktKRUluY3JlbWVudFBsdXMge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwNTNBMztcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDJlbTsgfVxuXG4uS0pFSW5jcmVtZW50TWludXM6aG92ZXIsIC5LSkVJbmNyZW1lbnRQbHVzOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzVENjBDNjtcbiAgYm9yZGVyLWNvbG9yOiAjNUQ2MEM2OyB9XG5cbi5LSkVJbmNyZW1lbnRQbHVzOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiK1wiO1xuICAvKiB1c2UgdGhlIGhleCB2YWx1ZSBoZXJlLi4uICovXG4gIGNvbG9yOiAjRkZGRkZGO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5LSkVJbmNyZW1lbnRNaW51czphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiLVwiO1xuICAvKiB1c2UgdGhlIGhleCB2YWx1ZSBoZXJlLi4uICovXG4gIGNvbG9yOiAjRkZGRkZGO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtNXB4OyB9XG5cbmRpdi5LSkVJbmNyZW1lbnRDb250cm9sOmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7IH1cblxuLypQcm9vZmluZyBDU1MqL1xuI0tKRUFsbENvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uS0pFRm9udEhlYWRpbmcge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uS0pFRXJyb3Ige1xuICBjb2xvcjogI0ZGMDAwMDsgfVxuXG4uS0pFV2lkdGhDb25zdHJhaW50IHtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5LSkVXcmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2NjY2NjYztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuI0tKRUxvZ28ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS94LXBuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZVQUFBQlZDQUlBQUFDM2x6OE5BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBa1lrbEVRVlI0WHVWOGRYZ2MxOVcrSFllYkprMFRKMm5TdEtHdi9acjJhd3B1R2tQQU1jbk1IRE9qSk51eVpMRmtNVE9EUlJaYnpFd1dnOFd3b3BXV3RMd3I3WXJ6ZTJkbnRWcEpLMWwyblA3KzZEejMwVE03TzNQbnZ1Y2VlTSs1ZDdYa3gvL3VZOGwvTi93Zi82UDRlWU9DTGphMW44ZUEwS2xDMW9PMmt0UzJoeml2WjNUb1pucGVUbllZbXhobmkzbVVnWjdSOGRIL3pNVDhSL0diNVFhODdiaHZoZC9Ga2JGUm94eS9KWlpxYjlydllRclpKam4rT0YvcGZ4bVliUXREMzNMWSt5Ky9TeUtwZUhSOHJMSzNnU2tjK1BsazhUUGlsNDRONTNSVUdCVUcyNVJHdGczMFRFNU9sdlkxL2NKdTU0dlcyNUxhU2xhSDNBQm1OSXZpc1BYaE9qalJ5dldkL0hIeVVKd0ZlZDJxTUxTSFIvdkErZEFMMXRzS09pcCtKaEU4WS93VGt4UEFpYkVLSktJOUVmb2tFclJYN0hZRlBjcUFWbjhicElHUFcwSzEzblBjdjhSeU04NC9jVG42TzVmRE9NbHFLeFZLeFY5NG55VWYrWjNyMGNpbS9DVld1R2N6VGNCUzRFZi9kT0VBTE9XWlNPUlo0cTlsVXM0bTJjR1lNYktyS1k3QXNOejU0SlVVeDcvNVg4YjViMXdPZC9Ib3ZqVXBTd0diUUtYMlY1L3pienZzSmRHK2JyK0hOY2pyRXc2OGJyY0xIMSt3M2txSXdPMEg0cS9MNGRHSk1RWGFYaDc5STdjZnppWFpNVVNjbnk2Q1o0T2ZJUnpReXZSNDAzRWZobnNpMFVZOFBQaXU4MEdBOUtwSmhrcGpvQy9aYk1OWEVmWFowSXZsc3R2UTd1VDZYMDl6SWM4M2hHcEJPN0xheXdobHNkMmhtZTZxMEozdDRicFFLd1ZVelF4MzhxdWc2aVJjSEI0YitTbFMrS240aDBhbHRnOGpQbkE5c3RSU2JablY1Z3ZKRG5RaG15UG0vb3FZMk0yK3RTbmtFTit3MzAzaXg4ZUxxVTQ0aHhZVTlkVEJMeXlUVGJWcC9qMThaVmNTanZNVnZoZFpJdmI3VGdkSm5McDUvaTNNcmhGWlJPaGc5NzRtNndydFdycXJlSGpvQzk4TGVybitJdW5nMDBuaDZmR1BUMHp3aG9SQk5ha1l5a3MyMjUrMzNncElSbmtCNURpK0Q3dU42eCs0SHJVdUROMGRiVXpxZndlM240aDJ0RGExVUMyTlpFZm93dmpFZUZoZGhrOWRXcWZzcTVqR3ZCMFJlbGV6UE9CRnZDb1RTSngzczd6aE1yKzdwOTdKbzUxSnNGYm94ZG9nVFRKd0lGNDBNaW1rMzNuUzR5bnhqNHlOV0JhR0dCV0dDS1NpVTRrMktlMmw1NUx0b1FMdnVCeHE1MUF4aUNwNjJ3ZHVSeFZqaGM2SDFHY3RjbkFURTRTMmk0YUhMQXFDdDhlWTNFaDNXMnE5NVhQdnMxbnRwZENqNTZ3MmI0dlFRODlRTVlSUG5NQWloa2VIZFhMOUNydHFGdmtLeFcxUGlUK29PdmxGNjYwN0kvUmdtWmhEZE5jbllKS0dmU1hWQ2FxQks1aFM4NExnNDBtMmVqbCt6YXl1cDVzZlFoQlNjVUZQWFVKVC9xVmtlL1QvcWNlSmFub2JOSTRVN3R0T0J5aWNQdGVLdU9kdHRpMTMzQjlRblV5T1o1SEhFK05INEFIbTVOWVN2UHRQN2llVTQ1QjFVU2d1dm1HM3U2cXZlWUhYUXhBVEUrT1NFUW1kUjJ2dGIybm9yUzlxS2E3b3FLenJybXZ0YngwUURvRDJBQU1jNTZ4T0dDTDJyV3p2c0laczNwRGd6NTZuU2Z4YU9UNlo3V1drSWtBMVhyRFpkaVBEWFRJNi9PenhZMEMxOVBiUHZjNXNDdFdDOHIrQlFHVzFXU0FWSzk0RWIvUVB2MHRua3V6NmhkUGhtdndXSWhzYUZ2Y01VRXBiODZKTGdsMlRiWXdqZE8rRWFtbmVVNy9rZS9tVTU3bkRyaWQzT3gzYmJIL29PK3Y5NjIwUEgvRytwcGZnSEYyUjBzM3BIeHVmRG43eTNpWW10a2NiRVNiZ3VLK3dxeHBlQnVjdjIyejNLSXY1U0hhKytiNE9Cck1ZRVR6Qi9ITUdlWEJPOEhNS3E4Wko3a3hteGhaemxXTVZSaUFkSGFKeE9pdmJjNUxLUSs0WGVBUm1PN21uV3RzbjNEV1BOakM0cjYwVmZPT2EvN1d6M2hlT3VaL1o3M0o4bThPUjliWUgxbGp1WFdHKzY0K20yMzVudEdXNzEzWEJrQkRtRGFWUTdybUoxWFV5M3NvMHgyOWx3RlVNQTdSeW1kV1dmd1JjQ2ExT1hoRjRkVStzS1doQ0Z1WHhySEd4K0hrU1VYaGRCZ0o3WVcvOTlReTN6OXlPa2V4dFRlQjF6aUJmcGFRbHcwTHFRSE10SmFlNE1UNjdOaUs1SWppMnhEY3MzOTAzMDk0bDJkSW16c1FrVWxkSHBnSVhmQytkOUR4M3lQWGtUc2VqRyswT2ZtTzE3MHZ6WFgrK3UrTWo0NjMybWZLQUFxZVkwVkNVMmxpa1NJMWtzU09kcEZMSFlzMHNTOElSSmo1MVA1NU5xZXpqTTc0TXVQS08wNEdTN3JxRnRXQlIrQkdOVGlmYWZIVlBuU1FiTUdDK1ZPUlRtZkNLelhiNC9KdHBMclBlTVRvdUhSQjBVdWpsemIyRjlWMDVsVzFwUlkxeFdUWGhpV1gzb29xODcrVTRlNmJaT0NTWW1VVWI2Ti9Ydmhta2VjWHZ5bVcvYTdyM0RXeVNuRHh6QXQxemc1eXpBNjB6ZkRVaUxUcFlQV1RudzZNam03dzBYdEpadjhibFVtRjdGWGtSM3Nlak1oNldDTDU0THRFMnVqNzdoMWd6QkE0STYxYTZHK1R5aWZ1eERqWVJqK1k3Rm9WL1FNeUZhd0VoNmVIUmxUdHlMb2tFYjJNcDhkQ0p5WEd4bE1YaXQ5QTVqWDBEdFYyTWlsWnFNVVJRMFpwU1VCK1RYaFVXOTlBL2RFb0ZuSk9zN2hmZUsyc3ZaZkRvczZ4bTduQzVZdjZwWU1QZm11NTVVZnY3NTdXK08zcFBuOExxSlgxa2NYZnR4eDRuZ0haZDJPMUJtZGxqaHVLYkN4RTFjZkZ6bjNOZzFrK1BIOUVGN3ZRdjhMZFdtNE1hc3FrOE90d3ZHV01RNTZTalVrWFhvMk1TNFNDVkwrNUc0NGs2Qi9pdE5IWTlSQUF0cUtWa2xqUWx3QXFnQXBGRjNuRmxJWFhkbFNLSlFPV3dZTzJEMGtHVllVdzRKTXBvTHIwUWJ2R1orY0hmR3U4S0swOGxBMUFIaDdvdTVLWnhZVERPa1Z3N1ZUeUFPeVNkSXY3Q2JRMk9xSGFIajVuL09scmIvN2lmT0ozaWNEREdGQjI5YUxQdHQwNEgvK1IxZW1Xd3BtOVZvaUtrWXg2R2hybUFMWmIwRHcwekpjT3NRUWxOSU82R0lrQUxPbWlsOVYyNVVJRzhSOUc1ang1ME1wcUhsYVJHaW1Ca2JMaXByeW1zT053NDF1cHlrUFp4WC9Vcm9RWjBXYVZFNWNFV2NlTnFjM2I2M3RhS2N4WktpQmlFM0JISWgwYWtPbG1laUlJWTdRci95MGt0UlgvMk92TUhyOU85TW40NTkxZ0lQK0RCMWNIUExiWGEvQXRaV3Fab1gvaWM2K016eWU2ZzgzeHhQMGZZTGhxaVNrZllvMlBDc1hIUjhDZ1hJdUNLS0hST0ExU2dxU2UvcWoyOWhWb2huVE1QbU9lS2puTHpXUE96M2hmbEx0RDI0TmRXZTAvNGFTcU1vcFZPYWFVUmFlV3NBNEJyZXB1aXkxSlFXU0svQ3ExTFh5WlQrM1hoT2pSWjRhU1oyVW1TNjRuSjRaR3gyU25qdlBnQm5pWG1JcThBd1hoWkprNjBiME51WnJRVWUxUW5OZy9JM2RMNHhDaUQxMDdqMUhPRkZBQWVHZVBqTlpPVG94Q0JaSmdKaldCeW03cVpsUzNVNGdGKzcxd0tLQmprKzJkN3dRVmU5cnQ4eW9zTUFUL0lRc0RlMEpKWUJkcGpJWWEvTnRycVhoQTVsd3ZnSG5RcmtvakpyNFpHSk1makxDNGwyYzJpUUdQakF1cUFXenZ0Qms2VWhUZ3YvaDR1N1YybkF5Y1RiUnBZbldDN3NueU80SGFSanpJVno0OVBqSFV6NnlqME11RG5DRHNJL0tPOGlRa0o0UmJHaEVOU0JsL2N4ZUEyOVRDcitXSVZtc3dSc2QxVEhmVHVhOSs0cHpFTC8xcnIvY3dwL2VLSXVPK2JiSC9oenJxWGREZFlaOTZiejFQaU9ySVNqRTA2T2p6TGR3eVBNdnZaZ1IwMGcyYnFXUVl2YkhKeWJHUk16dERteGU5UWRKK2NjeUEvazJ6dlVoNExzNGNMTkM4TUlmRURmQWV0QnI2OXZmOWgzMEFkdkoxd3NBZHpEaEdnU1VjR1JFTjlFQXFOMHlBY2tsdUtzdURoQXNJTEF4RUM5Y0p1M3dqU0FBc0VCVGpvZW1JSEtJRHR3YXZCZHhRM0I1WEd2NmEzNGZrNzY1YnFmUCtTenJyd2lsU1Zsb3lMY1A0aXlheEVlRkk2U21QeEUvc0dmTG9ZbHQxTUs3WXd0WXRwMU5DemMyU01HTlc4K0pIYk9wWkVmQ3lyd0tEOTJuSGYzZ2k5bSttdUVwbnJBb1h2b05VK2JFNkVZMitoRm5VenEyRG5RQXNSd0FWQ0VlQUxlQ0lLbEo4blVxSDI2S0dzclJBczBEUktUMWRHZ1M3NlhqcmhjZmFneTRudERrYzIyQjZNcTVLRHhLenU5Tkg4aGQ2R1pUTDhTMit2ZmRka0o1Mm5RcUNFcWRNN0w5dzNIeDFUMUk0bmgwY1ovTUV5bGlDVnpvM2dpdklHQk1sdC9acDFYUnVxT3I2Z2MvMVY0NGM1ZGJLcHNRMDVON0s4dnZTN1JQSTh0TGNjOXpXeXVralo5N0VwbVRYaEJmV3hGVzJwRFYyNTdmMGx2YXhxaUdCQTBBb3BvTEVGYmRCOE9xY1pEbUx1ZElra1F2OXNWNXNIQkFYVURybWxIbmo5dk0vRjR4NW45anNURkhpSDAvRUJJWnQ4cXJHLzdTUFRuYS9xcmlmd2EzKy9WT3U3SlZyZnFzZll6YzJPY0xONWVzQnpHbXZjQ3FKa2ptWnlkSncvT053cEdLb1ZETldJSkExMGJuZ1h3NksxVDcyaFoyOXQxOWRkVEdNWWdvcjVyNkcxL2txV1RzbWIxV1prVjU5Nm5qUW9DQUlSeEdzRWc3ekU4cENrOGlERTg1TG1oT3FPak1idVBJaWdtMUZKSGFqdFp6OUMySWRGOURDcmhFT3pFeUVTVlJPMTFpbkozRExHMERCY1I1WUNYRVVLOElQNzZiM094N2JZSHphTXRWTDRPZHZNZ0YvcGIzeEZkLzF6T3RQNGx4dHVBL21aSzlZdnpBNHR1Yjd5VjdjM1ZQYzJBeHRjSGVaZk9rb1hTUnBaZ2hRYUo3aUg2ZGhKTjZXeTNUa2lGR01KVWpRYlB5UkhNa2V5dmUxOHdMazh0cEZCSVhtVlRQTW5NMnJpUU9OalMveFNLMFB5NnFKZ0JSQUJ0QUE4Qjc2QVFpdWwwTXB3MGttdlZEbjU2Q0c5SnNFdTN0UXNTcDgwZmppLzAxN25qN2llMnUzMHcyYjd3MWtOZWVTN3hOTEJqZTRYMzlEZitKSWMvOW9sbVA5YjN5NjU5WTFORmtGMWxJODJldWNTOVZYQWo3YldHVXNNSTRoRW8rT0NJVUlGYXRqQ0hDWS9rU1BNNG9yeSs5amVqYjFIR0x4UVZmaC9uT3ptMFF4eS9ONXhrRmNwZitkKzNLSWtIRVVJOG1VVVJxdG5taTA0ZkVTaFYzeHBRRnBWYUc1ZFZFbFRmR1ZiS253QjNHRkRkeTRhVHZyWnJYT25DRmZHeGtmRDhuMnRZbzJRQXV0QStRT3VYL0NSR3orYzMyR1BDOHlwYXZkRFNzMXZqYmY4VW0vRGkxUEdEK1VIK0NVM3YvN0s0ZXlnZEFhbE0wOFBKTUdUTGFveUhTb0FFNUNNVU1YU1ZqUklnY21QNzJFNnRkTjBtbnBQZE5CdVFrQ3o1eitnTnMyNTRnSHlKeXFmY1RQZDdaY3kyb1BDRGdxU0dEcVlxWCtXbTNPU2hYZTZYVkN1UzJTaE4wUUFMY2l1aVNoc2lJVVV5bHFTeTF0VHlNWWZWSzM4bzJNamZwbXVkekg1VThuUG1TbmwzMnAveER6QmdhUUorSHNuM3VsdGcwMXdmcVR6aC9OVDRIOUphMjFkZjd0Q3ZuamdTOXRUeXZqL2JIWlFNakkwUGlHQkNLU2ovZkFDYkdFMm5SdEZIZkRzWkZoME1TMVpncGlKeVpFWitNRVpWaEFPVHcyWnc3cmdteWdxWmJTWG5rK3dzU3NPSjk5VTBWNktpR1ViWjRJRTFpZURFRUZFb2VlRGgzNWc5WkFDTXJ5Y3VraFlCSGh1L3FNWXpMUEsrVWNDNjV2cEJzdS9IWHlUblB5VG5tZFIvMER5dThYK1NHRnJLZmtVUjh6N3AvV2hHY1ovbTNCKzVQd3Z1YkhHUG5QYUJCcjdPMTdYV3FlTWY1bjZhdi9pQndvVmdBdmdENWJ6eENXQ3dTcWNzUGh4a3BIdTJmb3ZsQTRlaWJQNHZldFJFRjdTL2tGN0QwWWJrN1VVcERvdUtZNEc0VG9vWGNCNklRSm9BZW9aWWZrZXlHb2hoWVRTUURoRjVQbkpGVUU1ZFRFcXdlTWlRbHA0VWJCTzZDM05leHFYWkpaLzFJM3dmRnNkamh6eHVvUnFCL2xnVW0zMk93YWJDT1hYeGVURCtjbU1uOFIvNCtzbG1tdTJlSVBNeVV0RDl0bWh5dURKODMvYm5SNGFSaDRsR1IzandoRU9EVlA0Z3hVTVhtd3Z5NTFDTjBFc1ZHWC9rNU9nelhGTitidGpUZCtVY2I2dGtmcGpzdVVYRk9wdUJkOUF1REtLdUVOcUFRekJJOVhhTDlNaEtNY2xOTTh0dk1BVHVSMWtnWlpkRnpjZmZsd3ZiU3U1ZVUvekt1SDJMeDUzUDRPd2o4bFhzenRrayt5bWVPcGtrTzZ2RFRhcVZINFMvN3Q2V3dTeXpBZWxvVFZPRitmaWYvbkd0L250MVJPVG80UVhIT2tWU3VxNTRpSW1Qd0ZjRUZiQUVSSDE2Tm4yMzhudTlheE9jcWlNYjZTMzAwV2NzRWVaV1pSSzBocjljd05RcUFCWGhRaWd2VEJnNndmR0tHTkFFVHhTYldBTy9sbU9VQWU0UnJUVXFxZ0Y4UE1IZVFZUitvajVwT2FqOG9ld3Q5NzJZQVdsbW55S0xXUi9aTEx0ZGIwTkwwOTVmakx5SzVRZitKZG9ycTdwYVNJbWhrWjUvZmI2dWZoeDVXS0VOYWphK01UZ0NLRUNUR2pCeU5nQWNoTXc5TWxKSW5HZWdUKzk3U0ZSMVpScFBzcHA1bm1CWkNVYkIzK1FmejFRRTFFYUlnQmRnK25DZTRHOXdCWWdCVEE1cDBSekNNSXR4Y290MVJvdE5OOTdBZno0S3E4eDk0elhoU051cDZENTREemdmUHZjemlsNHUwOWg1RnNHRzErZDdmbW1sUi9nMGR6endzSDIzZk1pVklMSHhiK1lIZVJQcFlZcXh6T05IMXIwZTNkVTlkUStkRDM2Qjg5VEtQaThacmV6cksrUmZLeTZxd1lUQllvR0VWenl1d0xHZGl0SUV3VmN1QU5Jd1N4YUgyUUdnb0JSMk1hWjJzV1pPaVZhd004dklBTEVaK2RVTnhBK0VONU5kZ2UvdGQ3bmt1bEwzZzhwcUxsZmd1VlBoWDE0ZmhXVHYwUmo5WWRHTzc5eE9QK2UzdFo1OEgvMWdzYnFHbXFMWWhnY01Vc2c0Vks1blZuTjhTTmpCSkdmeGwvVzh3aHovcG5uU1JUTWVJUDhqYUZha0lWcmFUVDVjRUJCNkI2blk4aFBJWUl6WHVkQjEyRzlHb0hxWUcrSTRhQXhzQWpqaUR1UWhXbWtIbGk5YVpSK0oxTkZ4cTRzRWJnNjdYQ2pUWGFIa08ydHNkcmIyQ2NmYUUxdjR3Y20yMVJQUGp5L1RQT0pwckdLSUR4VG5FZVZDTDVhY3Ywcmo3d0l4VXREeWp4U0gwVjRGbG83WkJ0d3hVUjRuc2J2VkI1TFpQakJOK3I2bXFGVU43Tzg4TkZHbHUzQlk5KzZid2ovREg1MndPVUVpQ29xOW5CZEYzMHZrMUpBQWc5QmFJZmNoRmVIVXFEaEpLcEVIalVYMEFLZW1IY2xTR2UxNWQ1RFhsY2tJL0pTbW1tS3A3TGJWMm41bVB4RjRqOFZkbGRSZDBodWlMb2RmKzVTMUNIOXhNdE1JVkVVbWNaL0x0NktpUHlXYXM5YmJYbkpiaWNxNnZnWTFaU1BteEJtdGpzZTMyQjdBRjRLam5xZjgzSENGdHpQeUtSd0FRRWMyU3NFY1QzZ0d1eENROVp3Y2lkTWg4R2Z0NENsRUFwSXJtNk1sVTllR0hrRlNySEM4WlRjN1Uxem50bVd2MGp3bVArVk5pZFJKaUk3WjR1Wk9jM3hkQUcxbTkwbUdTRXk1V244VnZuMy9uM3Yrb2N1UjE2ekpaQ2pZU3NDY2lIY3hCS3l2N0xZamJMOE9wc0RpRkt3MkYyT1VBUkNDdEFGNUswbzNjQW9vQkZ3NllwMnp2dWliNDcvWWxialFDdkZza2lHSTZPcDVIWDlqZkpzVnpubXl6aVBYUGtYUGZuQS80SHVaaFFGeWM2cmVrc01rcS9xSlY2MnlkSVZTdWJrUDhUV0VnR3JpdFlhMFpDam4rMkRsU3lzNStDeHVwNkd2NXZ0L0xmRmJxek1ZSDBLdmhwWkNpa0Y2QUtpTndSeDFPM1VNZmZUVUFxaWVSQi84ZkdrNS9tQzVxSUY5SC9XVjZqYm53ODNrN0ZkZ3ZETTFQd25zbnp3SDhMNDBWN1EvQm9yQXVTTHN0dVN2WXBzREpPdmVSVmFjd2VKNnVCajZyK2s1ZVEzbFdBMTZxOTNkL3pMZk5kS2l6MVFoTFUyTWluWUhZWlRnRVZBRVBDT2tBWDhPWmF4eUlhUHVIamM2MklMclcyUklrRHA0azZpNjh1Nkd3andjcDgvcGZsUE5mbWtDRVJUbVZJcnErRmVtVnZpby9DTXBnY2lLVkVJbE9OSGhpQWNxcFdPOUNGbkJtZVdjWVBwNWRmNHFuUXN4WDFtc3UzenU5di9acllEaXJES2NnOUt0TjlaRXhZQlFjQW80QnEyRXUwSWdqbFVBMy94RVJmeDFTR1A4OTFUOWRMSENnTDJrbGlmLzVuNUFZTHR6Q0U4aTNONzA1TlA0bGNVQ3hyNnE2SnJnOXp5emNNcXZKc1p4TktZSEQ5MXdCbTFRUXJkbU1yeVlIQmp1T0ppc2JSdGVJd0Y1alQ1NDBSc1pkcTdCcHMrTU5yOHNmSFdQMHhKQWJvQXA3QmFKZ2hFYjlqRjl6YjdJUTVGdzBjRU5uejF0ZFcrM2E1bnE3cnFGcjhGZ0NWZ0h3clNmeEVKSDJIMlQ2bjVDaE5BYVlDVWUzbFBvVVdHdGs3Q2VZdDByVFlXUVcybThMTmRtcWluT21qNnZTeFhsTXFRS2lKYkhocnVRc0VjL0RtbU1oVkZDQkN5M3hpcWZXaTBSUzRGMCszL2QzZkhQOHgyUWhEUUNNaGlwZVVlNkFVa2dvWVRmTVJGTk56d1Q3T2QzOWtkVGFqTldvdzdKTWVLb09OZEhQdU93YllaQWYveE1YLzI1Q3ZyUDJXZ09hVFVMYkxTSjc0MlpJYjlpeVNQMk1JME5zb2o0bUtraDROU2hJZGVHVlVXd2h5eUdncFJnVUlSRnRub2NvTk5rTUp2alRiLzNwaXdpRCtZYnZ1VDZmYS8zQ1ZrOGNYZEhYODNJeVJDTmxnS1hNWmY3dTc0M0hUN0gwMjM0K2IvTmR0bG51STVOQ3g1ckJXUU4wQmZxbnNhdjdBK0ptTTdpd240S3NBdjAxZzk3ZithRTR5U3Ira21YYkhMTWVRUEVXc2hTMGJIc1V5NXVyNUhyYVVQK20rQSthZHh3Z1lFR1VnVkI2WHR5Qm1RUDFaUWFoR1FVSUVucFVEcXdydUdhdTlQQ1FJTDFaOFlid1hDLzVuWlBqWFpCbVdCcEtBMUh4aHVmczlRN1IxRE5kUnp1d2NXV3BPZEpSMldrS1BtcWJFVStCL0Q5bFNBeCtTL3E3TUppeUprbnl3aHJhQXQxYWZZbGlIc0p6VVIrRG5WbEJYVmxIODE5T3hyNjcvUnhiQkJlc2ppSi9NR3l3YUhnUjh1WUlncEdDQnFyenJybnB1U0F0SlNKR2R2Nm05RWlvb3NIYklBTm9nRElCVU5INkVwK0FvM1FGNjRHWS9nd1ZmMTFuOTRkMWRJZVRLV3RCZXBDQ0F3RjBMTmxtbXNtUy9QbWJvdWoza0t5OGZKbDFiSHlIVVJIRDVGdHRxSkYwQUJQUXVzc09KSTRJZUhhK3pkOTZoYnJZMTJqVHJneXVMSDg4UkZpQVVvbUEyTmRNTUZqazFnWFhIa1BjTnRSRXdpcGFDekRpRWF5UW5VQVhqQVZkSGVrSWxqVm9POUFETytKV0hqRVNnUmhFaXNaTnhaZnpIQ1F1VjZsa3FoZ01NUUlsQmZQYjhJVklBSC91UEJxSFBMWTFuZ1F5ZmZFb2NXUmgxM2tFVlcwT0gvc0VKQzVROFc5WFA5K2ptK3FJMmlUc3pnUGVDS0NvV1NCaFFQNFFMR0prYS9jVDZQOGd0aThwUVVwZ1VCU0NqUmtPSjRSVzg5Y0pJTkgwRmpDY3k2aEx4Z1FVUU5HNVFXUWlUQys5cmQvdHFMZDRjWUs5WjVON2hmZjFMOERsbnlCYXZoTVdrSkpkc3FVMGM5OW5oMlN3SXBaYm4vWndzVDZybzNObFBQb3pDRUVFam5ScU5VZ3ZrZkdXTmovdUVDdFJKYzVRR1psTUp0NkFLcERtUWpHQnNtZG5hVFhaZTFLZGh5WWtQa3M5SFY4cVhFYmxhdmRJcWlMbXdSM1FOOTc5NVJteS9WVTFaNytibjZxdkllZVFvL0lLTHJKMTI5Rm4wMHFlNStEMGVlbThyeFM0WTc2M3QydHZaZG9RNjRZNTFJS0hra2tqU2hZRFFWQWtmU0c0dUoyZ3ZSWkxSRTFzQlBuN3U5OXBkNktORnVrczhxSVJSVmpSQVpNTXZTZUZuN3pHei9nSWdnMTFDQmZmNDYzemxmN09Lb1hxS2ZKUkdmb3RnNStGVnJQa1R3djZiN09HSSsyVVBuUUV0WWxhL21nMU9hc1NmN2VQS0ZMRGwrRUQ3K1lDR1d5cGo4Mkg1MkFCRUNoSm1Db1dyb1Avdy9iSVFwNUx4bnVKMWdJM0lweUFYeGxzSFdzbzVxRUtUWDdtd2s0TWx3RWxEbGFLY0JUL001V1E5WG8rMUlzK3poMEZESlE1RC8xR3gvUlZmOVl6MGlWbUwrYUxwUFNRVHpnZ2YreXhGV2lnNmpxd05qYTRPTHUzTHEraXZJNUc5YS84a1BQREVXY0c1M00rMXBuQkN3QUpBZnNraEd6dExoSUVPQ2lxRkJDbE9DMk9ldmpXLzdPTFRmR085VXpPMk1FOWx5elhTVFBmdks3ZThMMnVXbFByL2lCMVAxak5VZkcrOHU2eVJvNmNLSFRvTGJBZzVmWVFVdmFxN0phaWxUZEpYVmt1aVNiNGI2ajNMbk0vSWZrUDh1aGhsQ0FOYk1GTWdWZHlmV0Z5eTcrUTNCeHBDS1RBbUNYSTJHZEw2d096RURwekptc21KUE1sbWlyVmxoZDVLc2RzRC9iL0ZRbHhkendPMDBWbjFzdEx0T3FXS2xVaERGSGJVeS9Bdk5QTDc5dTlVUENxNkZhb2QxNXAzTFVZZDFFaTRVVTZaM0lzL08vN0Frb3NoOFVDZDRVQnVrQ0I3WUMvSjMyNVB5dVNLS1VHdGUwMTRuR0JLUlF6eCt6MkFLbmdMbk5PQ3AxSjE0YXFubUd1dk1JUElwS3BlK0RIS1JJWmZURy9WVi8yZjVBM2ZCb2lXVnkxaXV2V0ZoL0V2VlZ6b3BWYjZTNnlQOGl1eFlJcHBnaU1zZmtpOHV6OVovaGJDeGRBTVBHVnJocFIxL2pxMjBkUU03VUo0anNoRlorVTF6TmZ3V3VTS013Nk1vWnFrOFJTV3JGQ29iOGRUck9oczZwM2IxT2VUZVYwYXVLT2JkaVhkZHdBU1FIWDFpc0dOaC9COGE3VkxNRGJacVZQVVVtYVJxWG84NUZsZEhMSHNxRHRYNWYwTi9wVlhtbmJTbTJMQUtyNGVkT1lxNytVUENQMWtjbGswWFFjanZLMjNGcU94ODlPS3Q3eFNpbWZkRVkvVm1EM1ZGaDhTaUhjbHFaNVl4c1ppRkhWN3ppV0F4K04wTHBoY2dhcWxsR3JISDFXT09oNVo3dGpBZVBSNC91Q0Z2a0ozVmttQ1VvcDdXR0t1Y3QwWlhaeEZqMVZpMS9JNWFuOUkrREZqeSt3Z1FVNm94bGJHUWVZc3NkWmxxa1JWcDVBaWErdHBmdnZuZGZIekdxL2pCZlBocGZOYjd1cHNYbVArL1dmMmdxS2FpazZFUmNXbFhybU9Pa1YyMkFWalE0L0hqRHI4U0Ivc2NRenhRMlZQVXk1MnVaS01Xdk1WVEV5TFk0NmN6aTcyZERiMnJqSE5hc1pWc0cxSlQ3TXkybUxsaVBVc1FKd0wxNThQZnd1eDVIaktkeC8rOWV2UGJ3amI1QmxuMGtGQWZqb0tmUzk3ZHNFcnZPbXJack8xVDg5YS9oa2NsdGRUU1czRm5MRE8wczFzU3hWTDVzaVI2UkRubEEvM3R5c3BQRGpTcnNXUmFtUlZhUGZQa1lpUVdwQWlYZ1pvbi9QTUMrY3dtNTB2ejRROSttREFmK0dYcXF3eVRQSlZCZHJGYjlaT3VtS1pxUmxZSENHUTF6MFhOUCtZMnB1WmVYbHN5dktCZTBwWFFDay9sM1o2cGpjVzkzQmw3Z2RFcG1Na25ocnNXZ1BTOHhwcVNqbHJ5OWVWZDlhL2RYTHZBelZ0ZHI2ckVEMnpIRUd2bW1md043dGZJN2FES1J3T3RDbUdQSVZDUmRDOVUvOFRXZlppQWRhYU9YNG05ZDVFTlJ6eTk2d3F5bUZ2TXdoV2RSUGNGSVAzVDVnU3EvZVRJZE9JVkhHWjYwNGJ5czVmdW02dkVqNjJlYjg4VC9ENDNPOURObmliUnZWeEtTa00wMWorUjZyWFE2OGlDOTJMbm43eXZzQ01qcE55anVDTnpkSHdFbmdOL0ZjK3JGRUUzaDdhYzhFeXFJVm1ueVRmekl6SjlZWGwwd1dUK3E0Q0hpU3J4STU5VE9mbkx0VGMySysyUlJjeHpMN0NNcXZLenk5YlBiU1dXK2xVZWo2bC9BM0FUdlFZcVIrUDNXbWZxM3EvMFVmWjVFTUhjQk5ZbzFlODVWV3R5YjJKOERIbldBZktMc3RRQ21TeUs5Z3llaXUwemRQN0ErN3BiNXVML1VIOWJWYmM4endOT0RCamtMYUxLRjludS9YSXZ0M3l6cDhSUFB0WkVxelpJdm1hZmJRQXZncFVqNWI3d0pnVUZJcStEdXEwQVRaeWpBdHM5TlVsaFFXb1hJcXdYem1HUEJ1ak5IVEZXQjRnUU04ZnlQNzk3b0x4ek9xcWpmemhzUkc2M0FuT3hWSUJBaGdYZm40UWZGTWcyUzg4dVM4Kzl3Q0s0ekUwazVTdDNOM2NyWW5sbi9YdDNabGdCWmp1MG5QZ3RLQTd3NkkrTVpybkpHVXoramR2cm1taVVXU01HS3RlQ3FCYzF2NTZGZjVYaitUWkd0L0xOV05qQWJNVlVCMnJHbnZBc3RFTE5iejd3dVA0WS9TZWZ4QTczMU1ab3IwSXIrMnhEQ01JaHh4Q01ZbGFuc3d3aDdsRWVkRmd4eWN2MXQrRUhIT1FqbVNnbHpKKzlMTk5ZNVpJYlBzdTVRc1JCNWFtdjNrSzhVSktVK3NvTG9YZjVVd2tJb1ZuNGhScTFGTm9lVXgyQStYZk5OMnRqMWk5Y1lsb1VmblNOakFBclp6QW51Sk95cnJ6aWpneVVVMmFKUUdZTDB6OVVMbXFyL0hocW5xK0dUK2ZoSjRLTjU0dGVyOXo0eG56T0RtOXN6SEF1aUhvZUNjVVUrS1hYVjM1cXNpZStObGRaVEhnMWxuZU5VcTdYOUpRQWZFVjNBVFk1S0R0c2xWcXdXUHg0R0F0R0R0bUdDQ1RWUGNXNmlaZVFUc0t1NXU1R1Yvd0xBRHpTeWU0N0hYcjNqZHZyeXlqeXJCNmw2TGQwTnFyRS82bkozZ2ZWMmVTUFh4VUhLRGJLbmtzSmh5cWYrVGQxTnR4ODRFVG56L0NPbytQREtRMVJrWlcrSnFrYUlLemdMTGx0Y25OYlFQa1hxLytLTHJyWWJhZ2NwalpFbWFkclZmWVVCcFE0eHRRRWtSdEpsQTlNQzJDUW9zSGZCdnEwbUdLcXM1NVRuNUc2UDYvNTlRcWJFMVlaZ2ZEdHlwMWdEOGE5aHdsL3ZMdGZnZnlYdDllZHUyK0IzVTV6SVNYWFIyb25uSSt0Q2FydnIzVElNZkl1c2gwY2xpZm16eEkvK29JN3dmcXhVZkoxMENIdllsdEVCS3lscW53SDRvTGkxOEdLRytxcHJVN1pJYVlwUG1oVzZRSFJGV210ekI3eHpKMnM0SkdocGNuL3RENkczVHNrZVBoTGsyVHZkbGJ2TE8xQXQ4QlozcFVQWThSNGpGTTFVT0dGTGlENEx3eGI4ZTBUNkwvaUdSQWgxTTlTRzJPY2NvMVJHb2VEd1Z1cHZFNlZlOUx4Rkc0Z1hjTUM2NTlZWXVBT0NkUHFDL0hicmwvZlVYdEJjODNyV3QvLzFlTHdyUWRPQmEwVmNBSHo0ZWxrdDJJL0M3eHlONmNkTVI5cXYvaFYxaWZXZjhVZ0FPWmhaeTY1aE5qT2F0Ukx1bXlSb1lVYUE3bW9NdCtCSEJtREd4c2ZWL2hrS3J1L3FMWEN0eVJlSThydVc1ZkxhbTdYTG9TWU91U0VKdFVYOWlveDJia2REbzlKQ3RyU01CT0lSUEJFeHNuWGthVDA4Ym9YT2UwL2FmNlYzNEVSSUNLWXBtcmt0aVk5Nml2SDZncGJ4SURpUCtrNEZuOC80ZWRGak9qcUFLZGNFeEJicUxyL1F5ZWthbGpQZklyM1BvMytLNDhWWlpLaytuQXNKL1h6dXpFZ0RFcy82WEkvcjV2S1ZlR2xGZzl5N3AxRURhdTNKSzh0eGJ2SW1zN3Z0Y25Velc5TndaejdGdHNIbGJveUJIMVAxL2xQeFkrM2t2WlcxMWRtbmFWN3I4ejFYTVMrd0ZJWGtBV3NOOFEvQ2tNRUJuMTZ1c0dSVDRIUGdYMDg2cXZBcHFYcTNvZlJOWUdZN1dKS3BuK3BVMFp6SE14dzhkNXU3akNlQVg2eVUzQUI2TDlwNmczUEFzdUxrUWZnazdIVENnNVpQQ3hFQm9scWFqKy9CekJrem5raGNVQ2FjT253STNnUXN3MDdCNDFEejhoQndlVGhkN0dIeFREbE9tU2RWQjh4bjhkZHZMaWZHWDY4RWtRQVVzaHJUWVp5d2ljWkpsMDFTN3RGNDNXcng1N0EwTEhsQkVKeHpEWHhLYll2YXM5b3BGVUJET3FyY0tJb3pwTzdFWEJVOWhUYlp1aytxQWxxb3RWY2pqcVUyUnlmMzU0YVVPcU1DSWNld0RzaXEveFpJanJjL2srWjltZm0vMVI1Wmluc3Y3UXpwN2F2ekF5WXUvUEJtcTlHSDdiSTFBYjQvTGJVUmxvMXpBUnpXOWFWZnpYNktFb000WlUraFcxRVVSVEdnb29qYnNEa1A2VGtnR1ZveDU5dnB0Vm94SjVBR1E1OTBnVjlqNlcwaTU5ODNQa3M1My9XaStHbys3aWRKWlFzckxkQUhUQnZ0dGtHTmRTSDhON3VSZGIxdENvVWx5elRicmtWV0dCbERoa3JIc2NqY0J4WXE4aHZTNG12QzNVdHNJaXFDa2hyakFiamhvdDlvc1h5UlVyaFo4U3ZQQUpvTHpRY1RNRUNCWWtLYjRBczY4eER2Q0FYNUlOTFhTMHpkUkxyaVkzSzhPMXc2WkFJOWlweDV2a0YwU0t4TGVhMi94RCtXVU9SakE3QkY1SS9FRUkxQVY2anVxKzBsZm40eGQvRlFIcWllLzcvNEgraUlmNnNOLyszNC85L2lITW11c2tzeDdzQUFBQUFTVVZPUks1Q1lJST0pOyB9XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblR5cG9ncmFwaHlcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuJHByaW1hcnlGb250OiBcImNhbmFkYS10eXBlLWdpYnNvblwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRzZWNvbmRhcnlGb250OiBcImZmLW1ldGEtc2VyaWYtd2ViLXByb1wiLCBzZXJpZjtcclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSB7XHJcblx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxufVxyXG5cclxucCB7XHJcblx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnlGb250O1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvbG9yc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4kcHJpbWFyeVJlZDpcdFx0I2U4MmYzYTtcclxuJHByaW1hcnlZZWxsb3c6ICNlOGIxNGY7XHJcbiRwcmltYXJ5RGFyazogXHQjMjMxZjIwO1xyXG4kbWVkaXVtR3JheTogXHQgICM4NTg1ODU7XHJcbiRsaWdodEdyYXk6ICAgXHQjYWRhZGFlO1xyXG4kcHJpbWFyeVdoaXRlOiAgI2Y3ZjdmNztcclxuXHJcbiRidXR0b25TaGFkb3c6ICM3YjAxMDk7XHJcblxyXG5cclxuJHhzbWFsbDogIDQyNXB4O1xyXG4kc21hbGw6IFx0NzIwcHg7XHJcbiRtZWRpdW06ICAxMDI0cHg7XHJcbiRsYXJnZTogICAxMjAwcHg7XHJcbiR4bGFyZ2U6ICAxNDQwcHg7XHJcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjI7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjMTc3OWJhLFxyXG4gIHNlY29uZGFyeTogIzc2NzY3NixcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogIzBhMGEwYTtcclxuJHdoaXRlOiAjZmVmZWZlO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcclxuJGJvZHktZm9udC1mYW1pbHk6IFwiY2FuYWRhLXR5cGUtZ2lic29uXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJHByaW1hcnlGb250OiAkYm9keS1mb250LWZhbWlseTtcclxuJHNlY29uZGFyeUZvbnQ6IFwiZmYtbWV0YS1zZXJpZi13ZWItcHJvXCIsIHNlcmlmO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiAwO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDcyMHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMHJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkYmxhY2s7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeVJlZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDE7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6IDEuNTtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XHJcblxyXG4vLyAyNC4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjUuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gIGRvd24sXHJcbiAgdXAsXHJcbiAgcmlnaHQsXHJcbiAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgaW5saW5lLFxyXG4gIGlubGluZS1ibG9jayxcclxuICBibG9jayxcclxuICB0YWJsZSxcclxuICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgZGlzYyxcclxuICBjaXJjbGUsXHJcbiAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gIHN0YXRpYyxcclxuICByZWxhdGl2ZSxcclxuICBhYnNvbHV0ZSxcclxuICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAyNTogMjUlLFxyXG4gIDUwOiA1MCUsXHJcbiAgNzU6IDc1JSxcclxuICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gIG92ZXJsaW5lLFxyXG4gIHVuZGVybGluZSxcclxuICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyA1MC4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuLy8gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1Ni4gWHkgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHh5LWdyaWQ6IHRydWU7XHJcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uczogMTI7XHJcbi8vICRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbi8vICAgc21hbGw6IDIwcHgsXHJcbi8vICAgbWVkaXVtOiAzMHB4XHJcbi8vICk7XHJcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbiAgc21hbGw6IDEwcHgsXHJcbiAgbWVkaXVtOiAyMHB4XHJcbik7XHJcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XHJcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XHJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XHJcbiR4eS1ibG9jay1ncmlkLW1heDogODtcclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1yYW5nZS1pbnB1dCB7XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLWhhbmRsZSB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpcmVmb3hcbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludGVybmV0IEV4cGxvcmVyXG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcblxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgb3V0cHV0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuR2xvYmFsIENTUyBzZXR0aW5nc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLypcclxuU2VjdGlvblxyXG4qL1xyXG4uc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLnBhZ2UtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIC8vIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeVdoaXRlO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNwcmltYXJ5V2hpdGU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjAlO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZGFkYWU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FkYWRhZTtcclxuICB9XHJcbiAgaDIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgIH1cclxuICB9XHJcbiAgLnBhZ2UtY29udGVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICAgQGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1kZXNrdG9wIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLW1vYmlsZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGVudC1jb250YWluZXIge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmJ1dHRvbi1jb250YWluZXIge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG5cdGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlODJmM2E7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGNvbG9yOiAjZjdmN2Y3O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCwycHgsMCwgJGJ1dHRvblNoYWRvdyk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcbi8vVmVydGljYWwgYWxpZ24gdGV4dCBpbiBhIGRpdi5cclxuLy9WZXJ0aWNhbCBhbGlnbiB0ZXh0IGluIGEgZGl2LlxyXG4udi1hbGlnbiB7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgLnRleHQtaW5uZXIge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFpbmVyLTQwNCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDEwJTtcclxuICBpbWcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICB9XHJcbn1cclxuXHJcbnAge1xyXG4gICYudGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxuICAmLmNlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uYWxpZ24tY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKiBTbGljayBqcyBvdmVycmlkZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uc2xpY2stZG90cyB7XHJcbiAgYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XHJcbiAgY29sb3I6ICRwcmltYXJ5UmVkO1xyXG59XHJcblxyXG4ucmVkLWJnIHtcclxuICAuc2xpY2stZG90cyB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucXVvdGUtc2VjdGlvbiB7XHJcbiAgLnNsaWNrLWRvdHMge1xyXG4gICAgYm90dG9tOiAtMjBweDtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIG1xKCRzaXplLCAkbGltaXRlcjogXCJtaW4td2lkdGhcIiwgJG1heC1zaXplOiBcIlwiKSB7XHJcbiAgQGlmICgkbGltaXRlciA9PSBcImJldHdlZW5cIikge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2l6ZSkgYW5kIChtYXgtd2lkdGg6ICRtYXgtc2l6ZSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoJGxpbWl0ZXI6ICRzaXplKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGgtcGFkZGluZygkc2lkZSkge1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRzaWRlO1xyXG4gIHBhZGRpbmctbGVmdDogJHNpZGU7XHJcbn1cclxuXHJcbkBtaXhpbiB2LXBhZGRpbmcoJHNpZGUpIHtcclxuICBwYWRkaW5nLXRvcDogJHNpZGU7XHJcbiAgcGFkZGluZy1ib3R0b206ICRzaWRlO1xyXG59XHJcblxyXG5AbWl4aW4gaC1tYXJnaW4oJHNpZGUpIHtcclxuICBtYXJnaW4tbGVmdDogJHNpZGU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkc2lkZTtcclxufVxyXG5cclxuQG1peGluIHYtbWFyZ2luKCRzaWRlKSB7XHJcbiAgbWFyZ2luLXRvcDogJHNpZGU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHNpZGU7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCR0b3AsICRsZWZ0LCAkYmx1ciwgJGNvbG9yLCAkaW5zZXQ6IGZhbHNlKSB7XHJcbiAgQGlmICRpbnNldCB7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6aW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93Omluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICAgIC1tb3otYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEBtaXhpbiByb3VuZGVkKCRyYWRpdXM6IDAuNWVtKSB7XHJcbi8vICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4vLyAgIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuLy8gICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4vLyAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7ICAvKiBzdG9wcyBiZyBjb2xvciBmcm9tIGxlYWtpbmcgb3V0c2lkZSB0aGUgYm9yZGVyOiAqL1xyXG4vLyB9XHJcblxyXG5AbWl4aW4gcm91bmRlZCgkcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgIC8qIHN0b3BzIGJnIGNvbG9yIGZyb20gbGVha2luZyBvdXRzaWRlIHRoZSBib3JkZXI6ICovXHJcbn1cclxuXHJcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcclxuXHJcbkBtaXhpbiByb3VuZGVkLXRvcCgkcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG59XHJcbkBtaXhpbiByb3VuZGVkLXJpZ2h0KCRyYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxufVxyXG5AbWl4aW4gcm91bmRlZC1ib3R0b20oJHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxufVxyXG5AbWl4aW4gcm91bmRlZC1sZWZ0KCRyYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkdGltZSwgJGVsZW1lbnQsICR0cmFuc2l0aW9uKSB7XHJcbiAgdHJhbnNpdGlvbjogJHRpbWUgJGVsZW1lbnQgJHRyYW5zaXRpb247XHJcbn1cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKlxyXG5oZWFkZXIuc2Nzc1xyXG4qXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5oZWFkZXIge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeVdoaXRlO1xyXG4gIC5tb2JpbGUtaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuICAubW9iaWxlLXNob3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAubWVudS1zZXBhcmF0b3Ige1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgfVxyXG4gIC5jb250YWN0LWxpbmtzIHtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIH1cclxuICAucHJlaGVhZGVyIHtcclxuICAgIC5tb2JpbGUtbG9nby1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAubW9iaWxlLWxvZ28ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLnBob25lIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogOHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTVweDtcclxuICAgICAgICBAaW5jbHVkZSByb3VuZGVkKDRweCk7XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnlXaGl0ZTtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgLnBhcmFncmFwaC0yIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgICAgIGNvbG9yOiAkcHJpbWFyeURhcms7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWxpbmtzIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIGkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6JHByaW1hcnlEYXJrO1xyXG4gICAgfVxyXG4gICAgLnNvY2lhbC1pdGVtcyB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgLnNvY2lhbC1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgaC1wYWRkaW5nKDcuNXB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAudGl0bGUtYmFyIHtcclxuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5UmVkO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5tZW51IHtcclxuICAgIC8vY3VzdG9taXplIG1lbnUgbG9vayBvbiBtb2JpbGUgKyBkZXNrdG9wXHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICBhbGlnbi1pdGVtczogbGVmdDtcclxuICAgIH1cclxuICAgIC5zb2NpYWwtbWVudS1pdGVtIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuICAubWVudS1sb2dvIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgQGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmxvZ28ge1xyXG4gICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tZW51LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4udG9wLWJhci1yaWdodCB7XHJcbiAgbGkge1xyXG4gICAgYSB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzLCBib3JkZXItYm90dG9tLCBlYXNlLWluLW91dCk7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgJi5pdGVtIHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5UmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAubWVudSB7XHJcbi8vICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuLy8gLnN1Ym1lbnUge1xyXG4vLyAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4vLyB9XHJcbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICB6LWluZGV4OiAxMDtcclxufVxyXG4vLyAudG9wLWJhciB7XHJcbi8vICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4vLyB9XHJcbiIsImZvb3RlciB7XHJcblx0YmFja2dyb3VuZDogJHByaW1hcnlEYXJrO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MsIGNvbG9yLCBlYXNlLWluLW91dCk7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IGRhcmtlbigkd2hpdGUsIDI1JSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCNzaWdudXAge1xyXG5cdFx0aW5wdXQge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0fVxyXG5cdFx0LnNob3ctb24tc3VibWl0IHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0aDQge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuZm9vdGVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRwYWRkaW5nOiA1JTtcclxuXHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRwYWRkaW5nOiA1JSAwO1xyXG5cdFx0fVxyXG5cdFx0LmZvb3Rlci1jb250ZW50IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0fVxyXG5cdFx0XHQuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZvb3Rlci1oYWxmIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5mb290ZXItdGV4dCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnRleHQtY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA3MCU7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDkwJTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LmZvb3Rlci1hYm91dCB7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5sb2NhdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5sb2NhdGlvbiB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdC5hZGRyZXNzLWljb24ge1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdCAgICBib3JkZXI6IDFweCB3aGl0ZSBzb2xpZDtcclxuXHRcdFx0XHRcdCAgICBoZWlnaHQ6IDQ1cHg7XHJcblx0XHRcdFx0XHQgICAgd2lkdGg6IDQ1cHg7XHJcblx0XHRcdFx0XHQgICAgcGFkZGluZzogNSUgNXB4O1xyXG4gICAgXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdCAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LmFkZHJlc3Mge1xyXG5cdFx0XHRcdFx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMzBweDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LnN1YnNjcmliZS10ZXh0IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0I3NpZ251cCB7XHJcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5UmVkO1xyXG5cdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdGlucHV0IHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5mb290ZXItZm9ybSB7XHJcblx0XHRpbnB1dCB7XHJcblx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3coMCwgMCwgMTBweCwgJHdoaXRlKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogOHB4O1xyXG5cdFx0XHQmLmVycm9yIHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogMTAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC0uOHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBsaW5lLWhlaWdodDogMTtcclxuXHRcdH1cclxuXHRcdC5idXR0b24tc3Vic2NyaWJlIHtcclxuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBcImNhbmFkYS10eXBlLWdpYnNvblwiO1xyXG5cdFx0ICBib3JkZXI6IG5vbmU7XHJcblx0XHQgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHQgIHBhZGRpbmctbGVmdDogMTBweDtcclxuXHRcdCAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblx0XHQgIGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHQgIHdpZHRoOiAxMDAlO1xyXG5cdFx0ICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcywgYmFja2dyb3VuZCwgZWFzZS1pbi1vdXQpO1xyXG5cdFx0ICAmOmhvdmVyIHtcclxuXHRcdCAgXHRiYWNrZ3JvdW5kOiBkYXJrZW4oJHdoaXRlLCAxMCUpO1xyXG5cdFx0ICB9XHJcblx0XHQgIEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0ICBcdHdpZHRoOiBhdXRvO1xyXG5cdFx0ICB9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5wb2xpY3ktdGV4dCB7XHJcblx0XHQuY29udGFpbmVyIHtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkZyb250IHBhZ2VcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi52aWRlby1zZWN0aW9uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdC52aWRlby1jb250YWluZXIge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dmlkZW8ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc2VjdGlvbi1zZWN0aW9uIHtcclxuXHRwYWRkaW5nLXRvcDogNSU7XHJcblx0cGFkZGluZy1ib3R0b206IDUlO1xyXG59XHJcblxyXG4uY29udGVudC0taW5uZXIge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5oZXJvLXNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IG5vbmU7IC8qIGluaXRpYWwgaGlkZSBmb3IgdmlkZW8gcGxheWJhY2sgKi9cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Lmhlcm8tZGVza3RvcCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0QGluY2x1ZGUgbXEoJG1lZGl1bSkge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oZXJvLW1lZGl1bSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbXEoJG1lZGl1bSkge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaGVyby1tb2JpbGUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblx0Lmhlcm8tY2Fyb3VzZWwge1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblxyXG5cdC5pbWFnZS1jb250YWluZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDUwMHB4O1xyXG5cdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdGhlaWdodDogNjAwcHg7XHJcblx0XHR9XHJcblxyXG5cdCBcdC5oZXJvLW1vYmlsZSB7XHJcblx0IFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHQgXHRcdHdpZHRoOiAxMDAlO1xyXG5cdCBcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0IFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0IFx0XHR9XHJcblx0IFx0fVxyXG5cdCBcdC8vIC5oZXJvLW1lZGl1bSB7XHJcblx0IFx0Ly8gXHRkaXNwbGF5OiBub25lO1xyXG5cdCBcdC8vIFx0d2lkdGg6IDEwMCU7XHJcblx0IFx0Ly8gXHRAaW5jbHVkZSBtcSgkbWVkaXVtKSB7XHJcblx0IFx0Ly8gXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCBcdC8vIFx0fVxyXG5cdCBcdC8vIH1cclxuXHQgXHQuaGVyby1kZXNrdG9wIHtcclxuXHQgXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0IFx0XHRAaW5jbHVkZSBtcSgkbWVkaXVtKSB7XHJcblx0IFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdCBcdFx0fVxyXG5cdCBcdH1cclxuXHJcblx0fVxyXG59XHJcblx0Lmhlcm8tc2VjdGlvbi0taW5uZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyB0b3A6IDUwJTtcclxuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vIHRvcDogMDtcclxuICAgIC8vIGJvdHRvbTogMDtcclxuICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAvLyByaWdodDogMDtcclxuICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICAvLyBoZWlnaHQ6IDgwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIG1xKCR4c21hbGwpIHtcclxuICAgIFx0dG9wOiAxNSU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuICAgIFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBcdC8vIGhlaWdodDogNTUlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbXEoJG1lZGl1bSkge1xyXG4gICAgXHQvLyBoZWlnaHQ6IDcwJTtcclxuICAgIFx0dG9wOiAxNSU7XHJcbiAgICB9XHJcbiAgICAuaG9tZS10aXRsZSB7XHJcbiAgICBcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIFx0XHRAaW5jbHVkZSBtcSgkbWVkaXVtKSB7XHJcbiAgXHRcdFx0Zm9udC1zaXplOiAyLjVyZW07XHJcbiAgXHRcdH1cclxuICBcdFx0QGluY2x1ZGUgbXEoJGxhcmdlKSB7XHJcbiAgXHRcdFx0Zm9udC1zaXplOiAzcmVtO1xyXG4gIFx0XHR9XHJcbiAgXHR9XHJcblxyXG4gICAgLmhlcm8tdGV4dCB7XHJcbiAgICBcdG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBcdHdpZHRoOiAxMDAlO1xyXG4gICAgXHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHJcbiAgICBcdH1cclxuICAgIFx0QGluY2x1ZGUgbXEoJG1lZGl1bSkge1xyXG4gICAgXHRcdG1hcmdpbi10b3A6IDMlO1xyXG4gICAgXHRcdG1hcmdpbi1ib3R0b206IDMlO1xyXG4gICAgXHRcdC8vIHdpZHRoOiA2NSU7XHJcbiAgICBcdH1cclxuICAgIFx0cCB7XHJcbiAgICBcdFx0Y29sb3I6ICRtZWRpdW1HcmF5O1xyXG4gICAgXHR9XHJcbiAgICB9XHJcbiAgICAuZGFyay10ZXh0IHtcclxuICAgIFx0cCB7XHJcbiAgICBcdFx0Y29sb3I6ICRibGFjaztcclxuICAgIFx0fVxyXG4gICAgfVxyXG4gICAgLmxpZ2h0LXRleHQge1xyXG4gICAgXHRwIHtcclxuICAgIFx0XHRjb2xvcjogJG1lZGl1bUdyYXk7XHJcbiAgICBcdH1cclxuICAgIH1cclxuXHR9XHJcbn1cclxuLnNlcnZpY2VzLXNlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0cGFkZGluZy10b3A6IDUlO1xyXG5cdHBhZGRpbmctYm90dG9tOiA1JTtcclxuXHQuc2VydmljZS0tdGV4dCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRoMiwgaDMsIHAge1xyXG5cdFx0fVxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZXJ2aWNlLXNlY3Rpb24tLXNlcnZpY2VzIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGEge1xyXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcywgYWxsLCBlYXNlLWluLW91dCk7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3coMCwgMCwgNXB4LCAkd2hpdGUpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHR3aWR0aDogMjAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdFx0LnNlY3Rpb24tLWltYWdlcyB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdHdpZHRoOiAyMCU7XHJcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc2VydmljZS1ib3gge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0cGFkZGluZzogMTVweCA0MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0I2luZC0tc2VydmljZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdC5zZXJ2aWNlLWJveCB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0bWFyZ2luOiA1cHggNXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblx0XHRcdHBhZGRpbmcgOjI1cHg7XHJcblx0XHRcdGg0LCAubGVhcm4tbW9yZS0tbGluayB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MsIGFsbCwgZWFzZS1pbi1vdXQpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJveC1zaGFkb3coMCwwLDVweCwgJHdoaXRlKTtcclxuXHRcdFx0XHRoNCB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5sZWFybi1tb3JlLS1saW5rIHtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHRtYXJnaW46IDE1cHggMTBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR3aWR0aDogMTQwcHg7XHJcblx0XHRcdFx0cmlnaHQ6IDVweDtcclxuXHRcdFx0XHR0b3A6IDVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5Rm9udDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy9Gb3VuZGVyIHNlY3Rpb25cclxuLmZvdW5kZXItc2VjdGlvbiB7XHJcblx0LmZvdW5kZXItc2VjdGlvbi0taW5uZXIge1xyXG5cdFx0LmNvbnRlbnQtLWlubmVyIHtcclxuXHRcdFx0d2lkdGg6IDkwJTtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdC5ncmlkLXgge1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5waGlsb3NvcGh5LXRpdGxlIHtcclxuXHRcdFx0XHRjb2xvcjogJG1lZGl1bUdyYXk7XHJcblx0XHR9XHJcblx0XHQuZm91bmRlciB7XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5Rm9udDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmZvdW5kZXItdGl0bGUge1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRtZWRpdW1HcmF5O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0XHR9XHJcblx0XHQucXVvdGUge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XHJcblx0XHRcdCBwIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vQ2xpZW50IHNlY3Rpb25cclxuLmNsaWVudHMtc2VjdGlvbiB7XHJcblx0YmFja2dyb3VuZDogJHByaW1hcnlXaGl0ZTtcclxuXHQuY2xpZW50cy1zZWN0aW9uLS1pbm5lciB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nLXRvcDogNSU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNSU7XHJcblx0XHQuY2xpZW50LXRleHQge1xyXG5cdFx0XHR3aWR0aDogNzUlO1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0Y29sb3I6ICRtZWRpdW1HcmF5O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuY2xpZW50LWxvZ29zIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHR3aWR0aDogMTcwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMTBweCAxNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5zZXJ2aWNlLWhlYWRlciB7XHJcblx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy90ZXN0LWhlYWRlci5wbmcpO1xyXG5cdH1cclxufVxyXG5cclxuLnNlcnZpY2UtdGllci0tY29udGFpbmVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0LmNvbnRlbnQtaW1hZ2Uge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHQuaW1hZ2UtcmlnaHQge1xyXG5cdFx0b3JkZXI6MjtcclxuXHRcdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0fVxyXG5cdC5pbWFnZS1sZWZ0IHtcclxuXHRcdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0fVxyXG5cdC5jb250ZW50LWNvbnRhaW5lciB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdC5jb250ZW50LWNvbnRhaW5lci0taW5uZXIge1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0XHRcdHN0cm9uZyB7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VydmljZS0tbGVhcm4tbW9yZSB7XHJcblx0XHRcdFx0Lm1lZGlhLW9iamVjdCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKC4zcywgYWxsLCBsaW5lYXIpO1xyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG5cdFx0XHRcdFx0XHQuc2VydmljZS1saW5rcyB7XHJcblx0XHRcdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5zZXJ2aWNlLWxpbmtzIHtcclxuXHRcdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5saW5rIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeVJlZDtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnlGb250O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0bGkge1xyXG5cdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeUZvbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZXJ2aWNlLWNvbnRhaW5lciB7XHJcblx0XHRpbWcge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6MjBweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZXJ2aWNlLXRpZXJzIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdC8vIGRpc3BsYXk6IGZsZXg7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiAkcHJpbWFyeVdoaXRlO1xyXG5cdFx0Ly8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodEdyYXk7XHJcblx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0fVxyXG5cdFx0Ly8gYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0R3JheTtcclxuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcclxuXHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0fVxyXG5cclxuXHRcdC50aWVyIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBoLXBhZGRpbmcoMTVweCk7XHJcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206MTBweDtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0R3JheTtcclxuXHRcdFx0fVxyXG5cdFx0XHQudGllci1sb2dvIHtcclxuXHRcdFx0XHQvLyBkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiAzMCU7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0Ly8gZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR3aWR0aDogMjAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkbWVkaXVtKSB7XHJcblx0XHRcdFx0XHR3aWR0aDogMzAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpbWcge1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtcSgkbWVkaXVtKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudGllci1jb250ZW50IHtcclxuXHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuXHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0R3JheTtcclxuXHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xyXG5cdFx0XHRcdEBpbmNsdWRlIHJvdW5kZWQtbGVmdCgzcHgpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodEdyYXk7XHJcblx0XHRcdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodEdyYXk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0XHRcdFx0QGluY2x1ZGUgcm91bmRlZC1yaWdodCgzcHgpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0R3JheTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5Rm9udDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRpZXItY29udGVudCB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubW91c2UtYWN0aXZlIHtcclxuXHRcdFx0LnRpZXItdGl0bGUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzLCBhbGwsIGVhc2UtaW4tb3V0KTtcclxuXHRcdFx0XHRjb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguMnMsIGFsbCwgZWFzZS1pbi1vdXQpO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkcHJpbWFyeVJlZDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNlcnZpY2UtLWxlYXJuLW1vcmUge1xyXG5cdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHQvLyBkaXNwbGF5OiBmbGV4O1xyXG5cdC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHQubGVhcm4tbW9yZS0tY29udGFpbmVyIHtcclxuXHRcdC8vIGRpc3BsYXk6IGZsZXg7XHJcblx0XHQvLyB3aWR0aDogMzAlO1xyXG5cdFx0Ly8gYSB7XHJcblxyXG5cdFx0XHQubWVkaWEtb2JqZWN0IHtcclxuXHRcdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzLCBhbGwsIGVhc2UtaW4tb3V0KTtcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5V2hpdGU7XHJcblx0XHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzLCBhbGwsIGVhc2UtaW4tb3V0KTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5jZWxsIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5sZWFybi1tb3JlLS1sb2dvIHtcclxuXHRcdFx0XHQvLyBpbWcge1xyXG5cdFx0XHRcdC8vIFx0d2lkdGg6IDE1MHB4O1xyXG5cdFx0XHRcdC8vIH1cclxuXHRcdFx0fVxyXG5cdFx0XHQubGVhcm4tbW9yZS0tY29udGVudCB7XHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnlGb250O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdFx0XHRcdFx0Ly8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQvLyB9XHJcblx0fVxyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qXHJcbmFib3V0LnNjc3NcclxuKlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5oMyB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5hYm91dC1oZWFkZXIge1xyXG5cdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvQWJvdXRVcy1IZXJvLmpwZyk7XHJcblx0fVxyXG59XHJcblxyXG4uYWJvdXQtZ2FsbGVyeSB7XHJcblx0LmdyaWQteCB7XHJcblx0XHQuZ2FsbGVyeS1jZWxsIHtcclxuXHRcdFx0bWluLWhlaWdodDogNTAwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0QGluY2x1ZGUgbXEoJHhsYXJnZSkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDcwMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuYWJvdXQtdGV4dC1pbm5lciB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogNSU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDUlO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdC8vIFRoaXMgZm9yIHRoZSBhbHRlcm5hdGluZyBpbWFnZS90ZXh0IG9uIHRoZSBBYm91dCBwYWdlXHJcblx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdFx0XHQuY2VsbCB7XHJcblx0XHRcdFx0XHQuYWJvdXQtdGV4dCB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQob2RkKSB7XHJcblx0XHRcdFx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYWJvdXQtaW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cdC5hYm91dC10ZXh0IHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRwYWRkaW5nLXRvcDogNSU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNSU7XHJcblx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbXEoJGxhcmdlKSB7XHJcblx0XHRcdHdpZHRoOiA3NSU7XHJcblx0XHR9XHJcblx0XHQuYWJvdXQtdGV4dC1pbm5lciB7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblRpbWVsaW5lIFNlY3Rpb25cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnRpbWVsaW5lLXNlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5V2hpdGU7XHJcblx0LnRpbWVsaW5lIHtcclxuXHRcdHVsIHtcclxuXHQgIFx0cGFkZGluZzogNTBweCAwO1xyXG5cdCAgXHRsaSB7XHJcblx0ICBcdFx0Ly9saW5lIGRvd24gbWlkZGxlXHJcblx0ICBcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0ICBcdFx0QGluY2x1ZGUgbXEoJG1lZGl1bSkge1xyXG5cdCAgXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdCAgICBcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgICBcdFx0d2lkdGg6IDFweDtcclxuXHQgICAgXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdCAgICBcdFx0cGFkZGluZy10b3A6IDUwcHg7XHJcblx0ICAgIFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHRHcmF5O1xyXG5cdCAgXHRcdH1cclxuXHQgICAgXHQvLyAudGltZWxpbmUtY2FyZCB7XHJcblx0ICAgIFx0Ly8gXHRpbWcge1xyXG5cdCAgICBcdC8vIFx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHQgICAgXHQvLyBcdFx0d2lkdGg6IDEwMCU7XHJcblx0ICAgIFx0Ly8gXHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdCAgICBcdC8vIFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdCAgICBcdC8vIFx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHQgICAgXHQvLyBcdFx0fVxyXG5cdCAgICBcdC8vIFx0fVxyXG5cdCAgICBcdC8vIH1cclxuXHQgICAgXHQvL3JlZCBkb3Qgc2l6ZVxyXG5cdCAgICBcdCY6OmFmdGVyIHtcclxuXHQgICAgICBcdGNvbnRlbnQ6ICcnO1xyXG5cdCAgICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgICAgIFx0bGVmdDogNTAlO1xyXG5cdCAgICAgIFx0dG9wOiAtOTk5cHg7XHJcblx0ICAgICAgXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcblx0ICAgICAgXHR3aWR0aDogMTJweDtcclxuXHQgICAgICBcdGhlaWdodDogMTJweDtcclxuXHQgICAgICBcdEBpbmNsdWRlIHJvdW5kZWQoNTAlKTtcclxuXHQgICAgICBcdGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcblx0ICAgICAgXHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHQgICAgICBcdFx0dG9wOiAyNSU7XHJcblx0ICAgICAgXHR9XHJcblx0ICAgIFx0fVxyXG5cdCAgICBcdC50aW1lbGluZS1jYXJkIHtcclxuXHQgICAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgICAgICBcdGJvdHRvbTogMDtcclxuXHQgICAgICBcdHdpZHRoOiBjYWxjKDEwMHZ3IC0gOTFweCk7XHJcblx0ICAgICAgXHRwYWRkaW5nOiAxNXB4O1xyXG5cdCAgICAgIFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0ICAgICAgXHRcdHdpZHRoOiA0MDBweDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0ICAgICAgXHR9XHJcblx0ICAgICAgXHQmOjpiZWZvcmUge1xyXG5cdCAgICAgICAgXHRjb250ZW50OiAnJztcclxuXHQgICAgICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgICAgICAgXHRib3R0b206IDdweDtcclxuXHQgICAgICAgIFx0d2lkdGg6IDA7XHJcblx0ICAgICAgICBcdGhlaWdodDogMDtcclxuXHQgICAgICAgIFx0Ly8gYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHQgICAgICBcdH1cclxuXHQgICAgXHR9XHJcblx0ICAgIFx0JjpudGgtY2hpbGQob2RkKSBkaXYge1xyXG5cdCAgICAgIFx0bGVmdDogMTVweDtcclxuXHQgICAgICBcdC8vIHJpZ2h0IHRyaWFuZ2xlXHJcblx0ICAgICAgXHQvLyAmOjpiZWZvcmUge1xyXG5cdCAgICAgIFx0Ly8gICBsZWZ0OiAtMTVweDtcclxuXHQgICAgICBcdC8vICAgYm9yZGVyLXdpZHRoOiA4cHggMTZweCA4cHggMDtcclxuXHQgICAgICBcdC8vICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRjQ1QjY5IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG5cdCAgICAgIFx0Ly8gfVxyXG5cdCAgICAgIFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0ICAgICAgXHRcdGxlZnQ6IDI1cHg7XHJcblx0ICAgICAgXHR9XHJcblx0ICAgIFx0fVxyXG5cdCAgICBcdCY6bnRoLWNoaWxkKGV2ZW4pIGRpdiB7XHJcblx0ICAgICAgXHRsZWZ0OiAxNXB4O1xyXG5cclxuXHQgICAgICBcdEBpbmNsdWRlIG1xKCRtZWRpdW0pIHtcclxuXHQgICAgICBcdFx0bGVmdDogLTQxOXB4O1xyXG5cdCAgICAgIFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHQgICAgICBcdH1cclxuXHQgICAgICBcdC8vbGVmdCB0cmlhbmdsZVxyXG5cdCAgICAgIFx0Jjo6YmVmb3JlIHtcclxuXHQgICAgICAgLy8gIFx0cmlnaHQ6IC0xNXB4O1xyXG5cdCAgICAgICAvLyAgXHRib3JkZXItd2lkdGg6IDhweCAwIDhweCAxNnB4O1xyXG5cdCAgICAgICAvLyAgXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGNDVCNjk7XHJcblxyXG5cdCAgICAgIFx0fVxyXG5cdCAgICBcdH1cclxuXHQgIFx0fVxyXG5cdCAgfVxyXG5cdH1cclxuXHR0aW1lIHtcclxuICBcdGRpc3BsYXk6IGJsb2NrO1xyXG4gIFx0Zm9udC1zaXplOiAxLjJyZW07XHJcbiAgXHRmb250LXdlaWdodDogYm9sZDtcclxuICBcdG1hcmdpbi1ib3R0b206IDhweDtcclxuXHR9XHJcblx0LyogVGltZWxpbmUgZWZmZWN0c1xyXG5cdOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xyXG5cdC50aW1lbGluZSB1bCBsaSB7XHJcbiAgXHQmOjphZnRlciB7XHJcbiAgXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjVzLCBiYWNrZ3JvdW5kLCBlYXNlLWluLW91dCApXHJcbiAgICBcdC8vIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjVzIGVhc2UtaW4tb3V0O1xyXG4gIFx0fVxyXG4gIFx0Ji5pbi12aWV3OjphZnRlciB7XHJcbiAgXHRcdC8vUmVkIGRvdFxyXG4gICAgXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeVJlZDtcclxuICBcdH1cclxuXHJcbiAgXHRkaXYge1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuICAgIFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0fVxyXG4gIFx0fVxyXG4gIFx0JjpudGgtY2hpbGQob2RkKSBkaXYge1xyXG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgXHRcdEBpbmNsdWRlIG1xKCRtZWRpdW0pIHtcclxuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsIDAsIDApO1xyXG4gICAgXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsIDAsIDApO1xyXG4gICAgXHR9XHJcbiAgXHR9XHJcbiAgXHQmOm50aC1jaGlsZChldmVuKSBkaXYge1xyXG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgXHRcdEBpbmNsdWRlIG1xKCRtZWRpdW0pIHtcclxuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHB4LCAwLCAwKTtcclxuICAgIFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDBweCwgMCwgMCk7XHJcbiAgICBcdH1cclxuICBcdH1cclxuICBcdCYuaW4tdmlldyBkaXYge1xyXG4gICAgXHR0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBcdHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBcdG9wYWNpdHk6IDE7XHJcbiAgXHR9XHJcblx0fVxyXG59XHJcblxyXG4vKiBRdW90ZSBTZWN0aW9uIGFrYSBUZXN0aW1vbmlhbHMgKi9cclxuLnF1b3RlLXNlY3Rpb24ge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRAaW5jbHVkZSBoLXBhZGRpbmcoNSUpO1xyXG5cdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdEBpbmNsdWRlIGgtcGFkZGluZygwKTtcclxuXHR9XHJcblx0LnNlY3Rpb24tY29udGVudCB7XHJcblx0XHRAaW5jbHVkZSBoLXBhZGRpbmcoMTVweCk7XHJcblx0XHQucXVvdGUtbG9nbyB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRoNSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1x0XHR9XHJcblx0XHQ+IHAge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdCYucXVvdGUtY29tcGFueSB7XHJcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogR2l2aW5nIEJhY2sgc2VjdGlvbiAqL1xyXG4ucmVkLWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeVJlZDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG4gIHBhZGRpbmctbGVmdDogNSU7XHJcbiAgQGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcbiAgXHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIFx0cGFkZGluZy1sZWZ0OiAwO1xyXG4gIH1cclxuXHQuc2VjdGlvbi1jYXJkIHtcclxuXHRcdEBpbmNsdWRlIGgtcGFkZGluZygxNXB4KTtcclxuXHQgIC5zZWN0aW9uLWNvbnRlbnQge1xyXG5cdCAgXHRtYXJnaW4tdG9wOiAyNXB4O1xyXG5cdCAgXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdCAgXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ICBcdEBpbmNsdWRlIG1xKCRzbWFsbCkge1xyXG5cdCAgXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0ICBcdH1cclxuXHQgIFx0aDMge1xyXG5cdCAgXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0ICBcdH1cclxuXHQgIFx0cCB7XHJcblx0ICBcdH1cclxuXHQgIH1cclxuXHR9XHJcbiAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgXHRpbWcge1xyXG4gIFx0XHR3aWR0aDogMTAwJTtcclxuICBcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcbiAgXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG4gIFx0XHR9XHJcbiAgXHR9XHJcbiAgfVxyXG4gIC5idXR0b24tY29udGFpbmVyIHtcclxuICBcdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0ICBhIHtcclxuXHQgICAgJi5idXR0b24ge1xyXG5cdCAgICAgIGNvbG9yOiAkcHJpbWFyeURhcms7XHJcblx0ICAgICAgYmFja2dyb3VuZDogJHByaW1hcnlXaGl0ZTtcclxuXHQgICAgICBib3gtc2hhZG93OiBub25lO1xyXG5cdCAgICB9XHJcblx0ICB9XHJcblx0fVxyXG59XHJcbiIsIi5wb3N0IHtcclxuXHQmLmZpbHRlcmVkIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xcyx3aWR0aCAuMXMgLjFzLGhlaWdodCAuMXMgLjFzLHBhZGRpbmcgLjFzIC4xcztcdFxyXG5cdH1cclxufVxyXG5cclxuLmJsb2ctdGFnIHtcclxuXHRmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGJhY2tncm91bmQ6ICRwcmltYXJ5UmVkO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0cGFkZGluZzogNXB4IDIwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWluLXdpZHRoOiA3MHB4O1xyXG5cdEBpbmNsdWRlIGJveC1zaGFkb3coMCwycHgsMCwgJGJ1dHRvblNoYWRvdyk7XHJcbn1cclxuXHJcbi5hcnRpY2xlLWNhcmQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQuaW1hZ2UtY29udGFpbmVyIHtcclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYmxvZy10YWcge1xyXG5cdFx0dG9wOiA1JTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0bGVmdDogdW5zZXQ7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuY2FyZC1zZWN0aW9uIHtcclxuXHRcdHBhZGRpbmc6IDFyZW0gMDtcclxuXHRcdHAge1xyXG5cdFx0XHQmLmFydGljbGUtc3VidGl0bGUge1xyXG5cdFx0XHRcdGNvbG9yOiAkbWVkaXVtR3JheTtcclxuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5hcnRpY2xlLXRpdGxlIHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5hcnRpY2xlLWV4Y2VycHQge1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRjb2xvcjogJG1lZGl1bUdyYXk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnJlc291cmNlcy1jb250YWluZXIge1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi8vc2luZ2xlIGJsb2cgcG9zdFxyXG4ucmVzb3VyY2UtYXJ0aWNsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC5hcnRpY2xlLWhlYWRlciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHQuYXJ0aWNsZS1ncmlkIHtcclxuXHRcdG1heC13aWR0aDogODAwcHg7XHJcblx0XHRtYXJnaW46IDE1cHggYXV0byAxNXB4O1xyXG5cdFx0cCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHR9XHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdCYuYXJ0aWNsZS1jYXRlZ29yeSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5jYXRlZ29yeS1zZXBhcmF0b3Ige1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQvLyBzaW5nbGUgYXJ0aWNsZSBibG9nIHRhZ1xyXG5cdFx0LmJsb2ctdGFnIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcblx0XHR9XHJcblx0XHRoMyB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pbWFnZS1jb250YWluZXIge1xyXG5cdFx0Ly8gQGluY2x1ZGUgdi1tYXJnaW4oMjVweCk7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cdC5zdWJzY3JpYmUtY29udGFpbmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5V2hpdGU7XHJcblx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cdFx0QGluY2x1ZGUgdi1tYXJnaW4oMjVweCk7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0XHRAaW5jbHVkZSByb3VuZGVkKDNweClcclxuXHR9XHJcblx0LmRvd25sb2FkLWJ1dHRvbiB7XHJcblx0XHRtaW4td2lkdGg6IDE1MHB4O1xyXG5cdH1cclxuXHQjZG93bmxvYWQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0IHtcclxuXHRjb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG59XHJcbiIsIi5oaWRkZW4tZW1haWwtZmllbGQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRsZWZ0OiAtOTk5OXB4O1xyXG59XHJcblxyXG4uYWRkcmVzcy1jb250ZW50IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMjAwcHg7XHJcblx0QGluY2x1ZGUgbXEoJHNtYWxsKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBoLXBhZGRpbmcoMTBweCk7XHJcblx0cCB7XHJcblx0XHQmLmxvY2F0aW9uIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiN0aGFua3Mge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHN1Y2Nlc3MtY29sb3I7XHJcblx0cGFkZGluZzogMTBweCA1cHg7XHJcblx0QGluY2x1ZGUgcm91bmRlZCg0cHgpO1xyXG5cdGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250YWN0LS1jb250YWluZXIge1xyXG5cdEBpbmNsdWRlIHYtbWFyZ2luKDEwJSk7XHJcbn1cclxuXHJcbiNjb250YWN0Rm9ybSB7XHJcblx0LmNvbnRhY3QtaW5wdXQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdHNlbGVjdCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0XHRpbnB1dCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzLCBhbGwsIGxpbmVhcik7XHJcblx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJHByaW1hcnlSZWQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHRleHRhcmVhIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiguM3MsIGFsbCwgbGluZWFyKTtcclxuXHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeVJlZDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy9OYW1lIG9mIHRoZSBob25leXBvdFxyXG4jZWVzRm9ybSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy9qcXVlcnkgdmFsaWRhdGlvbiAtLSBjb250YWN0IGZvcm1cclxuI2NvbnRhY3RGb3JtIHtcclxuXHRpbnB1dCx0ZXh0YXJlYSwgc2VsZWN0IHtcclxuXHRcdCYuZXJyb3Ige1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuZXJyb3Ige1xyXG5cdFx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5UmVkO1xyXG5cdH1cclxufVxyXG4iLCIuam91cm5leS1oZWFkZXIge1xyXG5cdEBpbmNsdWRlIHYtcGFkZGluZyg1JSk7XHJcblx0LnBhZ2UtaGVhZGVyLS1pbm5lciB7XHJcblx0XHRoMiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRAaW5jbHVkZSBtcSgkc21hbGwpIHtcclxuXHRcdFx0XHR3aWR0aDogNjAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uam91cm5leS1zZWN0aW9uIHtcclxuXHRtYXJnaW4tdG9wOiA1JTtcclxuXHQuam91cm5leS1yb3cge1xyXG5cdFx0bWluLWhlaWdodDogNDAwcHg7XHJcblx0XHRwYWRkaW5nOiAxMCU7XHJcblx0XHQuc3ZnLWNvbnRhaW5lciB7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLW91dDtcclxuXHRcdH1cclxuXHRcdC5zbGlkZS1sZWZ0IHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO1xyXG5cdFx0fVxyXG5cdFx0LnNsaWRlLXJpZ2h0IHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MHB4KTtcclxuXHRcdH1cclxuXHRcdC5zbGlkZS11cCB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcclxuXHRcdH1cclxuXHRcdC5zbGlkZS1kb3duIHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdFx0LmpvdXJuZXktdGV4dCB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5qb3VybmV5LXRleHQge1xyXG5cdFx0XHR3aWR0aDogOTAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNsaWRlLWluIHtcclxuXHRcdC5zbGlkZSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuXHRcdH1cclxuXHRcdC5mYWRlIHtcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdH1cclxuXHR9XHJcblx0Ly8gLnNsaWRlLWluIHtcclxuXHQvLyBcdC5mYWRlIHtcclxuXHQvLyBcdFx0b3BhY2l0eTogMTtcclxuXHQvLyBcdH1cclxuXHQvLyB9XHJcbn1cclxuIiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgdG8geyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cclxuICAgIHRvIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lO1xyXG59XHJcblxyXG5ib2R5LktKRVJlcG9ydEJvZHkge1xyXG5cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuXHJcbiNLSkVBbGxDb250ZW50IHtcclxuICAgIGZvbnQ6IG5vcm1hbCAxMDAlIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgcGFkZGluZzogNDBweCAwIDAgMDtcclxufVxyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAwIG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI0tKRVJlcG9ydFRleHQge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4jS0pFQWxsQ29udGVudCBwIHtcclxuICAgIG1hcmdpbjogLjllbSAwO1xyXG59XHJcblxyXG5cclxuI0tKRUNhbGN1bGF0b3JTY3JlZW5TaXplIHtcclxuXHJcbn1cclxucC5LSkVTY2hlZHVsZU5vdGUge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG5kaXYuS0pFRHJvcHBlcjpmb2N1cywgZGl2LktKRUdyYXBoRHJvcHBlcjpmb2N1c1xyXG57XHJcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzU5N0JCMjtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcblxyXG5cclxuXHJcbi5LSkVGb250VGl0bGUge1xyXG4gICAgZm9udC1zaXplOjEuMmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OjIycHg7XHJcbn1cclxuXHJcbi5LSkVGb250SGVhZGluZyB7XHJcbiAgICBjb2xvcjojMDAwMDAwO1xyXG59XHJcblxyXG4uS0pFRXJyb3Ige1xyXG4gICAgY29sb3I6I0ZGMDAwMDtcclxufVxyXG5cclxuLktKRU1pc3Npbmcge1xyXG4gICAgY29sb3I6I0ZGMDAwMDtcclxufVxyXG5cclxuLktKRVRpdGxlRXh0cmEge1xyXG5cclxufVxyXG5cclxuLktKRVRpdGxlICAgICB7XHJcbiAgICBmb250LXNpemU6IDEuM2VtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZVQUFBQlZDQVlBQUFBNDlhaGFBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93Z0FBRHNJQkZTaEtnQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFjR0ZwYm5RdWJtVjBJRFF1TUM0eE9kVFdzbVFBQUJOaFNVUkJWSGhlN1p3SmRCUkZIc2JsRmtWRnhXT3p1dTdoc2J2dXVyZXVxMjkxM3o0dlZQQkNRRUUwZ2pmaWZTS2lxS0FvS3VDQklJaUNpQktNSW9jaUlrWlJRSkZENUpCTFJBT0VRd2czeWRSK3Y3SnJYcVdwVEJLWXhPRE8vNzN2OVV4UGRYZlYxLyt6cW50MnkwaEdNcEtSakdRa0l4bkpTRVl5a3BHTVpDUWpHVW0zR0dOcWdPZ3IzMnU2ZmRGblVHdkpraVgxNTgyYjEyakNoQWxaUTRjT3pSb3dZRUJXMzc1OXM1NTY2cW1zbmoxNzJuMWp4b3pKVXJ1c1JDSUI5dGR4dFRsUGRHb3JuRSsvN2FmdDdxKzk5bHJ0YVBkUFJ4aHdOUENhMGZjOWhFYkNQaHI0YjdaczJYS0NpRHg3N05peGwrZms1UFFYQ2ZrdnZ2aGk0dW1ubnphUFAvNjQ2ZDY5dTNub29ZZk1mZmZkWjdlUFBQS0llZmJaWjQzYW1iZmZmbnZoL1Buejc5SjUvaUxVMXpudGpZbytOOVAycFBmZmYvK0F4bzBidTJ2WDBBMnk0UHN1SnlLcW5nWUJnWFdFV3V6VElPdUp4R05XckZqUlNtUU1uVGh4NHVLMzNucXJRQVN0R1R4NDhPYisvZnNuK3ZUcFkzcjM3bTE2OU9oaHVuWHJacnAwNldJNmRlcGs3cmpqRG5QTExiZVk2NisvM2x4OTlkV21YYnQyNXRKTEx6V3RXN2ZlcWpZRmE5ZXVuYnh1M2JxT2E5YXNPWjdyY2oydTY2N3RDNlMyYk5teVpwczJiZXBFdTNZTmdVQU5xSzdRUUo4UDJyUnAwL0dyVjY4ZStPV1hYMzQ5WmNxVVRSOTg4RUZpM0xoeFp2VG8wU1kzTjllOCt1cXI1cVdYWGpMUFAvKzhlZWFaWjh3VFR6eVIxTko3NzczWDNIWFhYZWJXVzI4MU45eHdnN24yMm12TmxWZGVhUzY3N0RKSU5jT0dEZE5sakNrcUtpcldUVnMvZGVyVTRVT0dERGtzdWo3RTJtM1VOVXVxdjkxbFJJUFlYV1FlSnJTVzlyeXdlUEhpL0RsejVwZ3Z2dmpDZlA3NTUrYVRUejR4SXRhOCsrNjdadVRJa1diNDhPRkdSSmdYWG5qQk9HMTk3TEhIVE5ldVhhM3BkK3pZMGR4KysrMUpWNEQyUWpUazZ0eTYzQSt5ZWZObTlpZWFOMjgrNS83NzcrOHFEVDVaZlRoVStJZHd1Sm9rQ1hXZnE3Mm80MGVxczcvUTlocHB6V2NGQlFWYmxpNWRhaFJjektKRmk4emN1WE10c2RJbTgvSEhIeHY1UEh5amVmUE5ONVBhMnE5ZlB5Ty9ha2FNR0dIa0lveGNpVm0xYWhXY2xTbTZnYVo5Ky9ibXpEUFBOUEtseGRMbTVicFJQYlp1M1FxcEoyemN1UEZRM2NnNjB2QjZ1SUNvMjlWYjFQRS95Z3g3RkJZV2JsaTVjcVVsUThTYTVjdVhtMisvL2RacUZjVE9tREhEZlBycHB5WXZMODlxcTN5ckpSR1NhYmR0MnpaVFhGd2NVVlYrMGZXdHRzcG5tK2VlZTg3NjMzUFBQYmRZUkgvdyt1dXYvMWxOOFBNMTVGSnFhdDkyL3JiYWlUcGJXOXI1bW56bmx1Ky8vOTRvY0JpUmEyU0NWb01nOXB0dnZqRUxGeTQwOHExV1c5RkVpTVFsY0V5SVNQYkpKNXNGQ3hhWVVhTkdXUzFXdW1XMzBzQ29WVmpXcjE5dk5WMCt1amc3T3p0ZnJtYVUrbmkwZnFvajhuOGZkYjE2aVRUakFHRi80WGNpNzE1cDVYb0laREFRZ2Rhd2hWeVJiZkx6ODVQYU9uMzZkQXMwdWpSQnl3bG1qejc2cUxuNzdydExCS3NISG5pZ0JLbGNNeFhKV01BYmI3eVJrRVhrcVk4L285L1JNS3FYcUsrTjFMbW1JbTJKZkdjQ0V0QlErYTZrQ2JQZHNHR0QxVVNuclY5OTlaVWxsOTlDd241bENlYkpKNSswd2FwejU4NUpVbSs4OFVaTHFnaUtXdjhncEdHa1hadzdsYWd2MjlTSFo5V2ZvNk5oL1BpaWZ0a3FScUFTK3JNNk4wZEJLRUZBZ2xUTTNTY1Y3WW1UcWx5MVZKL0pjYVJiaXRESkRDQkVLbTdFQ2I1YmdjYzBiZHJVdEdqUndreWFOTW42MTlKRTE5NnFQbnlxZmw2bnIvdmlZNlBoL1RpaXp1NHQxQk1PayttT21UVnJWZ0x0SU1KRG1qTi9URi8reTI2ZCtTOWJ0c3lhZTJtRUlwTW5UellxVDAydlhyMkNwR0wrcEZhK2NCTXV1T0FDUytyWlo1OXRDd091VjVhb3pUb0Yxb2YxMFJZTVA1cW9BMmhvSS9uS0owVm9NWDRSSDRrNWYvZmRkNVkwdEJKaUFZUkNORnFNaG1vUWpDY28zSmlCQXdmYVVoUlM4YVVRR05kVUFwd1RMT0hCQng4MDU1OS9mcExVczg0Nnk3YkhuNmNTOG1WbElDdWxJRWRFdzZ0NlVUOXFxUVA3Uy90NlRKczJiVE81SmxGYzVGcGZCaWtRQzRHWUpOckNGaklKVW1odWFjSnZSSGVWcTdhcXdwOVNWVUVZcEpMczR6UHZ2UE5PZXcwblhLdFZxMWJtdlBQT0swRXFuL0hMcVlRYmQrR0ZGeVowSTF2cjY4SFJNS3RXZE9IYUl2VllwVGVyeUMrcGl2QmZJdGltU1JENzlkZGZHL3dySkdMdUVJQWZSWU4xckIxTVNDQm44T0RCTnZuSG4xS3FQdnp3d3lYcS81dHZ2dGtTNFdzN1JZT0lzYVEyYWRMRWtrcnlENjY1NXBwU1hRMTk0V2FjZHRwcDVycnJya01CYm9tR1diV2l2dFFTZWFjbzMvdWVWT2U5OTk0ekgzMzBrZFVJM0FERWtoZVNVK0lPSUpndDMvR3RxWVJpQU5NbmFmZkxWSldieVRMMXBwdHVLcUY5QkVEMjRVK1Y1RzlIS3AveDBTR2h2eEFLempqakRLNDFXcnVyTG1EcFlyWk9sbjg4Y015WU1SOHlpVUVGUklsSjhnNnhkSjRrZnViTW1kWWR6SjQ5MjFEdnM2VkVMVXVZQTNBVEtuSFR4ei9lZHR0dDVwNTc3ckUrMmdubmI5T21UWkpVU1BSSlZhbHFwd3ZqMnNwM2ZMVWpGWnh6emprVUZYKzNBNjRLVVQ5cVNDc2FpTEQrcXMrTFhubmxGVHNKUW5uNXpqdnZtUEhqeDl1U0U4ZVBKdUZuSWRnQm4xcVc1T1RrSkxXVW5ETnUrdmhUWElOditreStORy9lZkxzZzVVaEZBNW5KaWxzSnZwNE13U2NWWEhMSkpXUGtUcXFtZkZVL2FzcEhIakYwNk5ERmFCTVRIL3BzVkU5Yll0RlkwaHEwRm5LSnpoQU0wR0N5Z2JLRUd4V2Y5a05MbmVrVDlmSGZUakQ5SzY2NEl1bFA0NlNpcFpBS01IVmZtSHRnZjV4VU5GNSsrMWZSc0N0WDVOVHJ5WC8rVndGa0dla09FUnBpSVFJTlk1YUp5QTI1WThlT3RiNFc3WVhrRHovODBCWURaUW5IOSt6Wk0rbExuWllTN2RGU2lQVTFEb3U0K09LTFU1cStJNVdiNVFzVDRIRkNIZVJ5NWtYRFRyOWdCdEl5NjdobHZvZkoxQ2JLTElzeFQ4d09qV1ZTZzNsUWxqZHdCNUNMNXVJZkNXVHl2M1lXcXF3Z2hSRGtXRUxCN0tucmZWOUtNT0k2ZnZhQVJxY3lmWjlVQ2diWEJ6U2M0MEtFQWxWbVJRcWFUUzBKNlJhVm03c3J4MlRXdks0aStDdEt4SXN3U3dZRHNXZ3NQbzZJVFNxRTFrSXVRUXlDY1EwQURTeXR4dmVGUWdHTmNtWlBVSEsrRkZJeFdTY1F4TXgvczJiTmdsRWZPRUlCcVJQNU1zSjhMdVNIQ0FYY0RQbmg1aEVONlJWZG42VUk4dEoveVU5dVJuc3dTNGhGbzhnWElZSGdndFpDN3FCQmd5ekJhSlVEQktNZDVSRk1taFFLUXAzWjQwdlJXT1lVbkdBTlRrdUoycWxNLy9UVFQ3Y2traXNqV0ZlSVRCK01ReFNrZjJWQTE2Y2NyYXRvMjA0YW1jQy9NV0RTSEV3VTMwZnFnOVpDTGk0QnpZVmdmQzVMSTRBT2xpZjZJNlE2QkVDM0pnV2h6T1NUNER1aDlJVDB1SmJHbzc1UEt1QmM5SjNqUWtRNm5IcnFxYlpvRUFXVlJtcHRsWjR0WklZSkJncXhyQkdodFRoN3RKYjBCM0xSWEphV2dTTVpvTW5raytVVjNBQ1dnTW16ZWdxY2xpRjhWdXBUd3BlbTBsS0hFSUVoUUNwYkZTNmRJaXJTSitvL3ByK2ZJbmhucFJrSkFnYkVvaVg0UEtJei9zK1JpK1pDQmo0WGtvbmtFTTFuQXBnZlpNb1NKbUE0SnhyRGFpcEVPMEg3SVRUa1MzMUNkNFpVSUl2cEgxR1JQbEgvZHhmMjBTQ2VRMXN3SDB5UzRJR1BZN0NPWE13S2Z3dkJWREFRRWdjejd4VVIvRENhamw5MlFqWEZ1bE1vTDAxRmFvaThFQnloUUNsY3BaQmFRMUcvZ2Z6b2VDYUY4VzJrSmk1bkpKQkFydE5jM0FJRTR4cENJSzh0YTAwcExzeGMrZE4zVkdjayt5R3pCeUZDZDVSVUtjYzZXVXpEaUk3MHliUnAwL1lVZWUreXZvNkdNSnZUb1VNSDYrOGN1VTV6cVh6d3VRNW9zZ1BmSVo0NWdwMFIwamcvMnBlbXBUdExLQ0FvTDF5NE1MM3JXQnBERFpXWkRlVlBKMTUrK2VXMkpMenFxcXZzVWdaYTY4aGxPZzYzZ005MUdnend2dzU4aDN5SVpZSmxSd1YzNEVoTnA5bURPS2tvalVydjlKSkthVHAvL3Z6OXBLRURpYllrMjIzYnRyVlBoVGh5MFZ6OExRVGpjeDNKZENnTzl2TTdCRFB2V3BIQTVZVEpsQWtUSnRoK2xFWG96bWhwcFpHcU1kUlZPbldnQ094LzBVVVgyZGtlcHRteXM3UHRBMktRNjl5Q0l4Z05kbWxRSFB3R2FJZG1NOG14SThSeURIa3ZtUWVrN2l5aG9DcEpyU1dmOG5PUk9wcmd3R29sRXhpT1hEUVh0K0FJUm5zQkpBUFNJUWUzejdYQmxVQTBXdWRQNVZWRUtIMHBpOGtFMGswb3FDeFNheWpSUGwwbXU0NjhrRXFFMHRDUlN6Mk5XMkJlRW9MUllNd1NRSFFjN09jbTBJNzI3c1pRZmZHc3dJNElXc3RLQXpjMTNhUXF1QmJoL2lJNjBpUHFjODJWSzFkMmxhOU1rTUtnRVk1Y05KZjFkZHlDSXhnTmhtVElBcER0NFBieE8rMW96N0dBbTBRUVkzVWcxZEoxS21HK2xrQ0p4b2FJUzRVUW9VQ3A0dVQ4L1B3OUl6clNJK3ByTGVWcEhkWFpCTkdXNm9YSVN5VUR1Y3hqUWk3YUM4R1FBeHhaa0EzY2QwY2dvRDNIY1lNNEQrZERhNm04ZGxTb3V1SkxKR1VoUkthRDh1NHVPbTE2MTZ4MHdob3l5K09VWnhhNHZOQ1JpK1pDTHRycmE3QURaTWZoLzA1N2p1TWN3Q1h6bkp1S3JLSkZnaE1tdzh0TGJJaElENGxCZ3dabDY1VHBuVlRoaFBKWjlYWEhocmoweFNmWEo5aHBjSnhvQjdlUDMybkxNY0RWN2o2bzBNb3ovMXFhTU5kSytoWWkwaUZBWWdtb3pZb1pNMlljRlZHUlBsRlUza000TURjM3Q3c2pGWkIwZ3pnWkFKTEtRdWc0ZDA3T3oxeXBFNTRkMkJFL3k1STQxNHFUNlJBaTBvZUM2WFFwMUFFUkZla1RhUXZQVFAxV3BuaStBc3hTbjFnZmpoQjhaSWl3T0Z4N1I2SVBYSU5iZ29aTTVtMUpiWGc0bzZMeThzc3Y3eENodE9uZHUvZGtTTlZwMG12K091bCt3cG5DUC9yMTY1ZFBaS1Y2QVQ0Um1ET1ArekR4UWFUM2Y2c0lPQzhUM2s0SVBBUXhya3VRNHltWWlnZ0ZnbnNDcGJ5RUF0M3NiU05Hak9BSnVBWkMybjBxNjFNbkNyL095OHQ3VmVaVXpBQWRITUZVVTI2NWhOUW9SRmdJN25qQStiZzV6RUk1WVdYV3p6MGhtT1VXM2VTb1JXcEIwNWs1cXdpaFFLbmZPcVdTTFhRZFhuNUxPNmwxZEdMZTdEaGNkNzJ4SXZoeW4xUUhmL21YNVJTZnJCQkM1d0FVQnU3bUVQM0pPMzFTSVlZc3duOHV0U3hoSmJjaWhJSStmZnJrWVoyVlFxcE9XbC80ZzNDY2NLeDgxS2dRR1ZRMFRsanZUMFZjS3JBYTY0UWxFelRUSjlRQkY4UEtRSG1Fb2lCRVhHbFFockp4NXN5WlYyaThmeEwyMGluU1R1cWhDbFluNjhTOHduUHMzTGx6cjFZMXRON1hIc3JESXE5MloxcVBxQnNpTFFSM0hnamtnV0VuUERmQWZwOU1CL1pqRWVVUjBxc1FlYVdoWThlT1V4VWJqdE9oK3dycGY2OVZSS0twTFhYeU83UTlYcWFaSlZOL1dRTXJkbVR3bG9oK28vOVdDRmEraHBVWG1McWY4RFBoRWlmVEJ6bXVXOGRQSlJVaFZRR3FTSXJUU3VOQlExbjBUSytXeGtVWCtwTXU4bHZWNS9zcm1aL0t3RWlQZUJBdExxd0FoSWhMQlI2NGNNSmNLK2VPRXhrSE0xUmxTWG5OWDMwbzd0dTNiNDdHeVZzcmV3bjJCZUpvK0pVanVnaXY5UnlsQzlWVUdkaGVuU2hpY3NRM2ZTYzhPK1didGtPSUdJQm11MGR5RU9yL1VMczRXQnBYbjZLandzS1QzaUVTNDFDUW5GTlFVUEJYSFVJYXRZOVErYSswNnlKN2FBQloydFphdG16WlFSMDZkSmpGeXc0aG9RcGkwaVJFUkFnc2FmdmtzSW9RYWhjSEt3aGxsYk5rSmlFU2ZhamcyRFJ1M0xoMmFzNWJOM1lGbVRHUEh6Kytjb25Wb0RHSms0UWpkTkY5WmZadFJWN3dMUVVHeW1KZmlJZzR5RmQ1M05JSjZWS29YUWdzektVcVlmSHZUSkNIaUhUQW9xUWNJelN1dlhVSWN4Mi8wWmI4bkZlYTBOaktjd0c2R09iUHYwSGdjdzdsZ3VyMEd5SXdhSDlrQVhRNFJJWVA1bGlkNmV1ODltbVdVTHNRV0ZsTkpid3hReVlTSWhQUXYxNjllczNldUhGajhpVTFIWllrMGY5Y0pjSUZSY0tSVzdac21hWHRkc1RpYTFtV0RwSGhnK2VtbkZDV3N1UVNhaGNIcEpBVGx5YXVtb29UNlNCQ2k3dDM3ejU3OWVyVkowWkQrdkZGUEtLNUJ3b25pRmdtSDdhelF4NVpwQkFJa1FLWUN2U2ZrVUt6Y0FlaHRnNk9GRFRRZnhRb0xsZ0tFelkra1E0RTJTNWR1b3hhc0dBQkdVMzFlWk1hUXRXaHZ3bDE5ZmtRRVR0QTJybmRTMUlrNmFWRmZsWlUvZHlVWjdGQzdZQlBDdDk1YkxNMGdXem1JL3hqSWlUVWx4V2RPM2Z1cVp5Yi95V292bjlhSTFLUGtXLzltWHpUU3pLN0VocExzR0RxTGs0U29DNTN3c0lmTTFIKzd3RlNMSmdqS0MzeDUzbzhZaFE0cmtoV2t5ZVgwRmg5UFZ4OUppNDBpSVpRL1VTZCs0WEFFNEtIcU1ORHBIMGw4aHhlU291blNVeU0rT1pMRVVIZ0NKQlJBcXdpOEJoN1NNZzZlQkFPeTRnZnB4czJmZGl3WVgrTHVyenJpTWJGbjlEc0pWZHdqeUw2SE44ZDhJb05hMGN1SStDenI5UThiaGtuSWc1dUJDK3doWVNuckZuYmltbDRRdHBacUh4MjFvb1ZLMXFyYitsZGJxNEswZGhzQ3FJdFd2c3J1WVBPSW02TlBsdkhTVWJBNjBCb0xaV09FMUlxYW5tUGpCSWc0UEFBblA4K3FoTzBrNERJWElGM1RFTEhyRkltTVd6U3BFa3RWYW9lckthVlg4dFhwakFBRVVudDNGQmEreCs1ZzdiQ1BPZHZXZkdFRENlVXRkVDYvZ1EyMFIzTkpIanhmeWgrZTRSVE1iT1AvM1JSWGxxS1pxNVZrSHBUcHQ2a3NMQ1EyVFY4WjZPb2F6OGQwYUJzcFNJZitvUzBja09jSU5ha1dDcjU3TFBQa3VCOTFuZzdKL2hmWGdobXpzQnBaM1oyOXNadTNib056Y25KT1VWTitIYzIvbzlnVCtGM3dwRlJWMzQ2b2tIeWxrdkRhS0QvRWZxSXlJWGFGb3JrUkdua0lhUmNQSUhOTWd0dmxmRG9rR3IxWW1VQW05cTNiNzlVRmRISCt1MVIzYkIvTDFxMGlQL0MybE9IVmQrb1hobWlBVk5UVTF2ejN5dW55RDEwa3ErbEtpdFFNRnNyRFYwMVpjcVVBdm5lNVFNR0RGZ3BGT2JtNWk0ZU9YTGt0TkdqUnc5WG9CcXNwUDJSSlV1V05GTjdaczBhQ2t6MjFJOHU4Zjh0SW9OcE52c3ZGeUxsS09GZndqRjgxcjVmYW51MDBFVDRad1IrdzV4Wk85cTEvcWV2cWtUa3RCVXcxMTAzS21ja0l4bkpTRVl5a3BHTVpDUWpHZmwva2QxMit4OWM4SmRPOHFyWGt3QUFBQUJKUlU1RXJrSmdnZz09Jyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLThweCAtOHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOjg1cHggODVweDtcclxufVxyXG4uS0pFQ2FsY3VsYXRvclRhYmxlIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHBhZGRpbmc6IDRweCAwIDRweCAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggI0RERERERDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4ICNEREREREQ7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjMzLDIzMywyMzMsMSkgMTAwJSk7IC8qIEZGMy42KyAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUscmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDIzMywyMzMsMjMzLDEpKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUscmdiYSgyMzMsMjMzLDIzMywxKSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDIzMywyMzMsMjMzLDEpIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cclxuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUscmdiYSgyMzMsMjMzLDIzMywxKSAxMDAlKTsgLyogSUUxMCsgKi9cclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUscmdiYSgyMzMsMjMzLDIzMywxKSAxMDAlKTsgLyogVzNDICovXHJcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZTllOWU5JyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xyXG59XHJcblxyXG4uS0pFQ2FsY3VsYXRvclJlcG9ydFRhYmxlIHtcclxuICAgIHBhZGRpbmc6IDAgMDtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuLktKRUNhbGN1bGF0b3Ige1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICBoZWlnaHQ6MTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLktKRUNhbGN1bGF0b3IgcCB7XHJcbiAgICBmb250OiBub3JtYWwgMC45ZW0gQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBjb2xvcjogIzAwMDAwMDtcclxufVxyXG5cclxuLktKRUNhbGN1bGF0b3IgLktKRU1haW4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5LSkVJbnB1dHMge1xyXG4gICAgcGFkZGluZzowO1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4uS0pFTm9KYXZhU2NyaXB0IHtcclxuICAgIHdpZHRoOjUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OmF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6YXV0bztcclxuICAgIG1hcmdpbi10b3A6MjBweDtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAyMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgIzY2NjY2NjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XHJcbn1cclxuZGl2LktKRUJ1dHRvbklzU2Nyb2xsaW5nIHtcclxuICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgYm9yZGVyOiBub25lO1xyXG59XHJcbmRpdi5LSkVCdXR0b25Jc0ZpeGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICM2NjY2NjY7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAycHggMnB4ICM2NjY2NjY7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDJweCAycHggMnB4ICM2NjY2NjY7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbiNLSkVTY3JvbGxTdGlja3kge1xyXG4gIGxpbmUtaGVpZ2h0OiAuOWVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4jS0pFU2Nyb2xsU3RpY2t5LCAjS0pFRml4ZWQsICNLSkVDb21tYW5kQnV0dG9ucywgI0tKRVJlcG9ydEJ1dHRvbnMge1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHdpZHRoOiA0MDBweDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHJpZ2h0OjA7XHJcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OmF1dG87XHJcbn1cclxuXHJcbi5LSkVDb21tYW5kQnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZDogIzMzMzMzMztcclxuICAgIHBhZGRpbmc6IDRweCAycHg7XHJcbiAgICBtYXJnaW46IDRweCAycHggN3B4IDJweDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgI2JiYmJiYjtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLktKRUNvbW1hbmRCdXR0b246YWN0aXZlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDoycHg7XHJcbn1cclxuXHJcbi5LSkVNYWluIHRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICByaWdodDowO1xyXG4gICAgbGVmdDowO1xyXG4gICAgdGFibGUtbGF5b3V0OmZpeGVkO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uS0pFTWFpbiB0aCwgLktKRU1haW4gdGQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5LSkVNZW51IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUI0QUFBQWVDQVlBQUFBN01LNmlBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBQWFkRVZZZEZOdlpuUjNZWEpsQUZCaGFXNTBMazVGVkNCMk15NDFMakV3TVBSeW9RQUFBSEZKUkVGVVNFdnRrMEVLZ0RBTUJQT1pVdkFIZmJCSDhXVytZWnNjRkdJTFFxM3hzb2U1TEVzbWgwUUFTRmtQUkdMT2NPbkpKYll0SXFCWXMzNXhOby9pbEhla3ZMeGlVKzV6S1c0S3Y0bS9nbUxOZklGWFBRTGZ5YUJZTTEvZ1ZZL0FkeklvMXF4Zm5FMGpqc1p0RVFVQXFka0RHQVNvZFRPNkFBQUFBRWxGVGtTdVFtQ0MpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOjJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xyXG59XHJcblxyXG4jS0pFTWVudUNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuI0tKRVdhaXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoZ0FDQUFQTUJBSUNBZ1AvLy80R0JnWUtDZ3BpWW1LeXNyTDI5dmR2YjIvZjM5LzM5L2VqbzZNM056Y1hGeGZUMDlPN3U3dFRVMUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaC9ob2lRM0psWVhSbFpDQjNhWFJvSUVOb2FXMXdiSGt1WTI5dElnQWgrUVFKQlFBQkFDd0FBQUFBZ0FDQUFBQUUvekRJU2F1OU9Pdk51LzlnS0k1a2FaNW9xcTVzNjc1d0xNOTBiZDk0cnU5ODcvL0FvSEJJTEJxUFJZVGo4Rmd3REZERzRuRlFJSkJFeElGUklBd0E0TEJZVENBVUZncXNMbkV3RU1id2VOeDh1S3BqQ1VWWHp1K0xCd1VIQ1hjc0RReHZmb21LQXdZTmhDZDZYNHFUaXdWcGp5RU9CWlNjbkphWUhRZ0drcDJsaWdaMm9CY1BwSjBEWmdWUXNnVmRpS1VERDRPcUV3aWJuR1lMQjQ0ZENndDduc09xQ3JhSkJBd0hKdzZIbEFQUW9BeXRmSXlYS3dwdWt3eTZhZ20rZmdRTHFTNEpEOHg4QmNsSERlMXpnallIODNBRThFVHlmZ01MNG02d011ZkFpQU44WWdxa3k5SExYOEVoL2JSWiszR3ZENEdIUUNMS0tZQVJTRU0rK3YrQUpFQUl4a0JBSVF3c0xseFREczRDTEF1eUpUeTVJK1dZYW5jT3lBekRJTWhBTURnSjZlUXowY2N5TUVWejdnUXdZQitQZ3k5VkxYQkhjMGRWUWpialBOaFZwT1dmbFZ4N0lGaHFJT3lRQTNJR2REVHJ3MnVZQW15RGpKWERMVzZQQnh2dEFzSFhWSzhQdEhISyt1M0I5K3BnR25qakpGWEI1TENHa1hIZ3RrRGd4YW5qQ1FiaUREQk1Jak1BeVpjdEtKQ3oyTVRvTUtWRDR3T05BbklZQW1Bdlp5V3p3ck1Zd2FFcG5JYmoxTUVEQTdROEtOaFpOM2NBZklLS2RTR2wxZ05DQXNZcHVHVzZ0R2VIMlM2akI5RDBpL09FQmt1QnJvMmJ4NWlYVXNVelRCL0RtbXVETGN0TmhjRzlJWEdpcldiWGw0TGRBZnlrdm1INUo1Ly9HT2xob0Y5a2JFMDFZRWtlQU1aSmFvK1F0RWhzRlZDMkg0VjNPQkJlSWhCV1lGc245TzJDSFNYdFpiQ2JLUVUrNGhvbkFHNndvaW5RbVhYaUpGRng4S0Y4TlhKMUlCd2xZakRjZ3VLWlplRWk0MkVnb1Nkc09laUhkUnlNMklrWkJoeFFKQ2c3QWtDQWR4SUlTQTB3OVF5bUpWMGVWQWtIaG5ZcEtFZUlHZGlYVHdIRWFmY2NtVmt5eDZVdStPUVltb1p4cEdpQkd3YWdVZFYwUFRvMklwb21tRW1iZGk4T0FDY0lEb0NwM1lrZGtvQVBrOUg1RXVnSjA4V29IV1V0c3FBa2dkcEpjSUNkS3lTd0U2R2h0akNkb3FuSzhHa1lwTFphS2o1WHlncURrd0JFYWlzSlg3Nkc1YTRpckJjcnNLYWx0U2l4SDZ4M0tiSWk0S2tZLzdNcTNCaEdwOUNTTUZka3YxYXJ3YXZ6aFhVc0Rmb05DOU1BZXVJdzVMT1lEQVdBdURqTStJZXVRYWpMSUJDNE1nWHZYeklWa0swTUI3TDdRMHh5OE9mRHVZSHRlME85Vm40YmcwYVJXY2JEUndFN3JFT3ZOOTA3UTBYYVRQblVrUXFKdFNPNVJqQ3NHVUE2L0FTU3hqK0lUSS9CSm1Cc2tjUkJrS1BJT1FxSHNNNlJZTHp6Q0RhTEdGRHVDTjdnREVZNG9CdzFpVE0vY3lDTjBFQlpQQVRFUjU4aGpIRG1kYUt6V2ZJK0NZc3NVTkJTeG9iYTVHSVhBandEYVhaSk5hdWhDZGhuOS9GSmFKRzBUYzNiMFJuQ05KQ01vSHhaSHNmSURWUUJZaVBMeGpkbUEvSkEydEZwd2NYZHI1eVJ0TFlCS01HRUU3SklRWVVWa0dldStSRG1uSGZ1K2VlZ2h5NzY2S1NYM2tJRUFDSDVCQWtGQUFFQUxBQUFBQUNBQUlBQUFBVC9NTWhKcTcwNDY4MjcvMkFvam1ScG5taXFybXpydm5Bc3ozUnQzM2l1NzN6di84Q2djRWdzR285RmhPUHdXREFNVU1iaWNWQWdrRVRFZ1ZFZ0RBRGdzRmhNSUJRWUNxd3VjVEI0eC9BNDNIeTRxbU1KaFZ2Tzc0c0hCUWNKZHl3TkRBUitpWW9BQXdZTmhDY0tCVitMbFg2QWFaQWhEcE9Xbm9vRm1ab2JDQWFVbjZoOWpYYWpGd2lJcUFObUJWQzFCVjF2bndNUGc2MFdCcFZtREFlUEhRb0xYWjRGeGI0VHIzNEV3eWNPaDZlWEI4MFVEM0tOb2lwNnNKY012ZGtGWXdRTHJDNEpEK0Y5eTlrQkRaUUVnallIN25JRXpMNExBd3ZrYmp5d0ZvZUFnM2pxY3BRaU9HYkF3WGcrOFBVeENORUhBbk44OWxYMHdXQml3bzA0Ly96eEtSQVFKSTRERE1Nd01Na0RKVGRzUFF4NDgrVXl6Z0IrTnk0Q1dGQnh3Y2lTTkJUQUtyQ3hvNXdIT0FhR0lRRFVGMFk0QXo3Q1lFRHdJVVFFS1FFWW9LRVREcytOTlJ0YWZlRWdYNWl0SUlIRklRb2o3QnlUV0czT1ZFSFZEODU0MjlhMlNQQzBEMUtUWmhuZExWRjJFVnFRQitRY1B1RVdHc3NBZ1FjMERTR3lVbFNXZWVIQUpNRVgxZWFOQ1FLekhkRWdzS0xGRzlVMm5MeEJZaW9DanhXay9PeWhjaXJKandPajNwREFWQ294Y3lFYVBmZWg5Tzh4SzFrcWtEUFlndERqeEhQSG9YMUJLZlEvckp2MVZjbWhnWUlIVDdwa3JSUThuazg0bzBONEIrL2JVbktUaWQrZWlEc24xNWowRyttUGtRckNRY0VKNjRWWHh2OWprTVZSM2dmeFJVZGdCb0ZSRjBKbVl1QzNZQVhiZ2ZGWENlZmROMkVHRmU1MHduQmk3TGFoQktxSjhSNEpKWjQxNGdVcGdpRWlDQzFxdGVJdmNiejRRWXcyVG9qamh6WE9XRUdNSjQ2UVlZUStVdERoVnlWQUdJYUU4WlJCeXdKVmxOVGhoU1FrU0FaTEhjcnlaSVBUL0dlU2twVXNvRUIycEtSRXBpWU9qS2VJbGdaQU9hWUhnUjNvaTJtL0JjbGdISGJHMCtGdERtSVFJNVBaREhrY0FYSmFJQ2dZc0ptMDNIVUY4SmRCbWdheXBPWnBaMTRRV0o3bC9EWkFueDNFbUNoSUlGcENxQWxXQXFjb0t2Q1lrRUJLT1k2eXFpY0dWTXBCakplQnRLZE5TS0pRYWhpNUNyZklxQ3VFVnBDc2F1eGFVSE1taEJvR3A2NU9TdEwvQy9NTUN4S2R1OGl3WjYvWnhNZ0lzeWtzQ3BXam1oaExFUTE3QWpxS2ZtQThXd09rMDIwVXpnRGo0S0R0VFJXcHRha082SkpCckJIYmpLdURzUzVDMUVDalB0eUtiWkVyUEdNVHR3aVhJTnRMRGIrZ2JCajNSdHpDcmY5WXpJTENpdTJyc1FiR1pZVHN4eUJFeTBmRkpKdFEyRHZnenVEeEVDR2ZESkFPN1l6VlNzd1oyVk9EYStZUzBsa2k2TFNzYWp0alVObE1YWWwwMHdJNEJRbXR4bk8vb2pGTk5YMjBTa2hYd1JRQTVjZ1VISlBNbW9WQzBsZ3dzOVFDeFMxbFRLb1BYRWhmQjkwcWp6blFudHVvaHAyTkpHclRUWEVvUGhwQ3A5Nk1HR0R6akhuc0FUZ1lnUENTTWh1R3YxM0FBMDQzckFVWDlsMGlqTjBwTzdORUhCTlBSREZGRlpGbkx2cm9wSmR1K3Vtb3A2NzY2cXkzN2pvV0VRQUFJZmtFQ1FVQUFRQXNBQUFBQUlBQWdBQUFCUDh3eUVtcnZUanJ6YnYvWUNpT1pHbWVhS3F1Yk91K2NDelBkRzNmZUs3dmZPLy93S0J3U0N3YWowV0VRL0ZZTUF4UXcySnhjQ0NRUk1TQlVTQU1BT0N3V0R3Z0ZCZ09iTy93SGJ2ZjQwSGhjVlhmSFBDOEhpQi9KT3cxQkh1RGJ3TUdEWUF5QllTTWNRVUtpUzhQalpSaWo1RXNEVzJWbElaMW1DaUNZV1VGQlZGUXBRUmVuSHgrb0NjR1p3ZUlIUTRMWFpVRnRLODZEZ3lyaEFNSHZEMEtCcHQ2aG4rWURiODhDUStpZTdxQUNMZGZBejhIMG5rRXUwa1BCY2dFUVEvSWJ3UnBSQWZINkVJSTRzbnFQOGJuWXdYcjltTHBQUTRHM0hud1pWblU3VnVOQnJjb0dUakNRQStCVHpJUWhOTzNod0dTQlJRQkZGZ0c0MEE4VmdEL0ZtQmhrMmVoQzNZWkd3MGJTWEVBSkJYK0FJSUU4NUlsbkFFR1MzaWMrV1llbGdVQk9hSlE4SkVuQUtGWUdzSjUwSUpveWtIWkloRjBNd0FpekttY29pWkNRTkdrQ3dkRkc1SERSSktxenhZTjJqVVNpQW1ySlJrS250NTd4YlhRV1JadUIzbkZOT2tOVzdSeXgrekZKSk5QemhSSzNhaDFJNUxYQVRpRFV5UW9UQ0JCZ2dVeW1SSXJQQURwVURpTkEwRGp0cEpYWHplbFZlVGxZelhBTmpCM0l5WFE5eGZGN0RlUkoydzdITWxBSWM4NjRkUWt0aUh1RzgwcGZMc1pTN3hENGR3a25qZjNrSGlmaXJwdWhrL1BvQUFPN3hDUGwyLzNVRGgxaWVwaGFvL0hzQnA2aU5VVzEyOEE2a2I5aVBMeWk3czdnWDNNOS93QjlDZEcvMnNoNEVFVmdCc1VGaHNJM1ltSFlBYjRtWERhV3creTkwWm9KTkEzVjRVWHJJYmhDT2lCNGQ2RHlna0dDMjRjWGxDaUdDTjJzR0lZTFFMNG9vZ25LcGFpQlRNQ0VPTUdJZXA0WXdVNTdxaUJoaFQrS0lHSEoweVlucEVUSUdsQ2cyTXdaMlNFSlJnWUI1TVNLTWlmUHNCVnFBK0JJZWlqSFlkV2twRkNZZkg5U0dRWVVwYVFvMzBQcmdabkNHdUMwU2FIYUtiZ2dENEw1bGVtR0gyR0lOMk5QV3FGd21wM3RvVWNoSDZ0RUY1MnhEUmdweXNYR09mR29pZmNaaU12WlJLd2dHYzVWb1ZYSVdDcUFTV2JHR3E2b2FPZ21YYlRwd0VvR1FhbXRsSFc1VS9KL1BLYkN6MENZQjRnT1JJaVpBaWFvSFByRWNIdWdSTU1xNFVFU3YrejA4UndLaG1sR2dHdEhnVUVla0t6Y3hwUldERFp2ckFuSEw4aThTMGpjbWc3UXJETEFoTFlJSmVzSUtBbHh3YVJnRkgzbEV1Q3JERGE4U2RQaHFnTEFyUWZGakV0SzNJY1VPOEk4NDZpYnhDUFpqVkh0VU8xOVBBUGRSSkNBQU1VcjlBckh4ZjM4REU2YU9nQTdRQUZBNUhzUGdZSURBTUM1K3E0TUE3WEpoeEVBekZUSThScUNjOThRN0Y1Q0NNRVFCTWo0VURNR25WTWd5Z2J1K3dEenNyQzJnTUJMWU1DOVI0RUtJeWxDZ2xjaTZyU1czUEFRR0NHakJsMkNBb2d6YkxaWjNjQVR5Vm1VUEVmQmJZTUs1ODVJSkZpeWltcEFBUEEzQThpc0JpK3JiWU4xcnVzZFB2ajRZUTcyUFlFemFqTmlkTXBKdUJVNHdDaytYZ3lCUW13STNtMG0ydWdCUmQrSzJ0R3lhRjdvTVFCVFR3UnhSUUhLQUIyNnJUWGJ2dnR1T2V1Kys2ODkrNzc3OER2RUFFQUlma0VDUVVBQVFBc0FBQUFBSUFBZ0FBQUJQOHd5RW1ydlRqcnpidi9ZQ2lPWkdtZWFLcXViT3UrY0N6UGRHM2ZlSzd2Zk8vL3dLQndTQ3dhajhpTFkzRlFJSkpRREFOQUJSQUlCWVlpR2pWVXYxVHM0Y2t0ZXNIb1FlR1FLQXNMNkRoMVlHaTRQUTJINHZCWU1Bd0ZnVmNFQXdRaEJIS0phbHRKZVh0OWY0RUZnd09KY1F1SGxwWUZqR2FhbjNFRGJTQ0lvS0VHWkVRTHBxd0dJb0tFckY4REQ2TkRESld5bGc0bkNndVR1Z1YycXJtNmFJWXJEZ3l4b0FNSFJRZkZ4bFhQTGdvR3BacDB0a0hSMDFVRTNDMEpEOW1icWQzU3VxNDBCK1p5Qk1OQzNzWUR2RFlQNnNmM1FncjZud1Z5SUNqd3I0bzlJdlJZVmN2aHpoSUJmajhhdlBzVWpzZEFoL0o2SkpqNENaT1BLWW4vQ0tEYkFVZlhnSkU3RmhRRVVFQWNEcERyNXExa3A4UGZ0RTVBRW9KeHBnTUJSd0RPZmlJYm9uTld4aG9sTHdXNGlHYmhrRlZ5V3Q2QUdvZG1ncVJ6WEFhQmllYUJEUVFGSzFMQVN0TUkxbGtvWDV4SkEzRkN5Wk5Kd01vcEM4TkJRYWNWdkFTRVVuUk9XeGRucSt6TllBQW5rc0JVQnIrd21TYnRuUWx5MHhobWdSaUF4OGNaSGtTRkVSbU1XTXdaT0E0NHFvTHJGN3lnTFJ5WTYySmpuTStwTVlqV2FrS0JuTXV4TVdpT2cvb0VZcmk1TTdoR294akZjREIwZzF0WU80djJpTlZ4Sml1bndCaE1ieExNd1UzZndERjVpZTdiTlpnT282THpGK25oSmRpT1EvcjU2L1FhT0Y0UE1aNGwvQXlJdmIrS3crQStCcXBmRkVlQy8zeitYUUNkWnlpWVY0Vmo5eWxJQllNZU9QQmVnUmR3aE40SEIzNHhGSVVVRUdqQ2JtQUl5Q0ZpdUkwQW9HQWNXa0RpQ2ZYcFYyQjJWTGpvQVl3QXlIZ2ZqVFp5Z0dPS2VWVjF3bzQ4VGdCa0NTMEdLYVNQSnB5WW1KRVNyUGhoSENKUzZHUUpHV3JIcEljbFNIZ01rd0ZZZUlLREFEaDMzejhRZXVCbGtPdnRsQUpIL1FXcHBCVXAwQmpsZllqTkNjS2JHM0xJWmdwMlJjZWpsbWhjbUFrYU9TcFhYNTRtSUlib2ZSelpHVUtWVlFpcVhIV25yWkRBUDRYR1JpTndLdnhXWm16SEJkZ0NwRlNVR0I2STFvM0RFV3poemVaQ2ZRRE1GeHVwTmI0QUpxdktpZFplQ3BXWldzUTFIcUFxS2d4cDd2U3BEM0RrQ0NZQWt2cTJHZjhTa1VtRjM3TXg5TWtiRWx6TjJSZFF6YUpBSTFDNy92Q090QlQ0eEJvTnkrTDZBNmtpVlZBWnB6UFFXaXNSbGJVckFhd0FlSFZEWlpZTlllMXJUN3labUpndW1CdUtyRGg4QzA0K2NoeVVBNld6SUZ6RHBkOEFKVEVNK1BMa2c3QXg5Y0R2QUw3ZThCTW81TzVnOEZ3RUUxdXh2VDVJNU5DeExmQ3JTVHhDTkxDU3hUZ3MrNG0rUWpnd2NtSXdvNER2SnhyWC9ETlFDNlNNd3RIYWhNeUR5ek96RVlPOHJJQk14RldnRUxCQTBDRElMRXVidDl4c1VHRXMvRnR4RldEM3d6UTRaSHQ3TnBKRE1NVUtGa3h3UFFIRmJ4TnF4TFpaRTVDcEJCeGJVc2dWZ1JoZ3dBSk1OT0dBMGlZYklIWklwQXlPUlFHR0kzNkE0b3h6NFFCRlFjWXN5cVVIQ25ET2lxT2ZiNERBTXFiOFhUb0dDWVIrdE9xckMzY0FObktrSFh1Q0J6QXdTUzVPMy82bEF3ZUU2L3Z3eEJkdi9QSElKNi84OHN3MzcvenoyMFVBQUNINUJBa0ZBQUVBTEFBQUFBQ0FBSUFBQUFUL01NaEpxNzA0NjgyNy8yQW9qbVJwbm1pcXJtenJ2bkFzejNSdDMzaXVxMFp4Skx0Z1RURUFEQWdNaDNENUtnQ2VUMExoQVdSYVRZNGlGSG8wS0s3Z2tHRkxqaFlXamJBNmc5Q1d5ZDNmZWk0WnYrL0dzNUlPUmhEd2dBQUVCbko4U3d1QmlRTjZJbFdHSmdsL2lZa0ZJb05wanlVUGs0RUZqaDRLVDR0Zm1TT1NuR1VFbng1MlVBV2twUjBJQm02b1VBU1lJRzFsQXdZSXNSc1B0YlpSdVNBTWVBTlV3QllJVHNSd3NDR25kd1hHd0FyVTBFWUhKS0dLM2N3TXc5c1BtdHAzQXd5cmRBblAyMXNNSndrUDZHOEZ2NFlOOW5DSkJpc0grRzNCeFdkZm9BRUxXbFZqZDBKWUlBSjcxRGdRK0FSZmdGMExYemdqdDJWQXhDc0cvNU9GazREc0RZRjhNQUlDZ2dnbTVCMkNGQ0tsK2dqRDJjcHJPMlRpTWNBUVVVZWFNa3ErUkJua0hhOEZHWFJ5eTdHQVkwV0dOb1R5R29uaGdDaXFOdzQ0QlNCdkI1RjBXREg4NmJwREsxZ2RmczUyT0VBMmlOazNBM0RPTUVvR0tiTUFQdTlCZmJIcHpyKzdKUEdZcTRFeDFkNU1kTGtRamFHd28xeGdoY244bFpIbFRsakFiK0VBYlpHNEltQU1uUUZVaXZHVjErTFBFaUp6a2NiNWpsM1VGdnFXR2UxQ2RaVERuKzNGZlNGMXkyWFlFcXkrbWJ4QzZVRGNxSFVqRC9HdHpHdmdGMlNUK1YyaTg0RFQwQ2NZZDhWaSt4UGkyUzAwRnJYY2cvQXlyTU5US0UxbWNJcnhndFJyc0FmZWhMMjI4aXYwanFMQ05vRDArVW5RSFA4Wmo0Vncza0FCWm1BUGRjZmNreUJvYitCSFFtY1NQb2lYZ3lnc2FLRUZCOTZDZ24vWVBRamlDUTZZdE9FRjlnQUlRb2Y4blZpQmhpWkl4NTJMRkhUbUhnbDViVUVialFGMDl0d0krd0ZRMzRud1ZRZ0NmRU51aU9RSlMvSll4M0JNUXVsa0FFMldFR1NTRmhaNVFvNHpPdWxqUXhoNitjYU5JN0FZMzVRd2xsQmlLbE1Ha09JSi9wVVhIa2NoZ3ZBbWp3TnlrY0o5VG5MWllwU3ppUmtvQ242ZVNTT2ZLRlNHSG8xckxycG5oRFFHU2NBS25VM3FvajA3bm1EbWZ5ZXl0d1daa0hDRVpYandYY2VDZFhWQzU1MW9MV3o2bzN3eVFnSHFQUGFvOHFCeUxnUUpBSU9vYlRwcUNmN1ptcDl1Qlo0UTJxdkF4ZW9aREhrcXBwNy9mNXpHRUZxbXNFMDdnNkpsOEZwS1poMnB5QUo4UmhTYlNWcFN6Z0N0c0orRlptb055bjdIeEFMYVdxQXJBTE5LaXdleU5naURiZ2VGUG9VRHVWT1ZwVVc5RjNEcm1BNmVkaFF2QzlqdW00SEJYQ3ljcTBnM05EQ01rUlJBREFYR05ZUm1CTDR0ZUxjdUJrM2g0Y2tTQUE4bjV3Z3B4NVBCdklLa2FvTkxKc2xzZ3NlN1ZXQVRIakJaWVRFZ0EwaDhaQ2NWcUpUTVprSk0xSW5ORFI2RXlVWkFleXNFelhBdHNISUdEbEVTUU5ZOEkrMHpSVkVVUWdMWGlZQXRpTGhNdURNSkFWYVBrREE4cmpCdHhUaVRTSTFCTm5EenNnNHplSzkwZGN0NUIvM1p6bmR3ZkFIZ2NGdVRMRWM1ZTdEcU5zcGNQUWNDZE9zb1J0NWMrSkpmWlFNRnVDRTB1TVFJL3FBQ25UdThnUU1MRUxBVko0WkRoNERkU1IxZ2dObnB5TjFtQmFoM1RzeXZ0MnVRZ095MEcrRjE3eDdrRGphMXhJL3crK3lNdzU3OEJ3Z3NVSUEyeUQ5L2dnTE1QeUcwOVIvOFhrRDEzSWN2L3Zqa2wyLysrZWluRDFnRUFDSDVCQWtGQUFJQUxBQUFBQUNBQUlBQUFBVC9VTWhKcTcwNFg0TzAvMkFvam1SWkRFdXBybXpyU2dZQUVNNXIzemo3eU1EQTVNQ2drT0xneVFpS29YTFpHaGg3aGdSelN2VVFuc2REZGNzVkZMQThUbmVzWElCNUJDMTVqVk9jallVT2U4NUtPTjh5RkgxZnV1TFJOWHlDSGw5L1BENkRpUlVJQjRXR2FFbUtld2tIQmdSM2owOERVWkprQ1FxV21ZWnBuVnNJREg2aW1XS2xTZ29ucXJFemFxMDVEckN5c1hxMU53Z0dtTG1pQlEyOE53L0F3WThFRDhVMkNJNlpCQVVMeUlhc3pTMEtxYU1Ha1FMYmYwallMd3pWWUp2ZUU5QnZQbExqZGV0bkJBdHlGbWJoZ1M0SjE1ME40R0JwM0dGd3d5N0ZqUzhFaVBYN3AybUJ3QXgyemd6REVlTkl2a0VPR01LcDkrSGZzaHpILzR3TXVMakhINTRCdEVLczQvZENRVFVhZ2t5K1NWaUNBU1FnTXJIUXBKTkFvd3hPSlE3MFlQRHd4ajE1SE1uRU8yUlFoVCtTT2FpOUtWQ1VpODB6S0hrZE1QZHpqVXVzS1Z0dHhacXVDZ0tOV2JHTlBhZHd5MUlaVGJFZHhVSjF5OXduQnQ1TnVBcUdHUlVFWEFsVXhmWjJRTkloRmJFTWFLdFhBT0F6ZVprNDRCcTI4VnBOVUlHOExkRDR3dVlsWHhVZjd2eFljZWFEWitKMnByQURER2NocFo4SVhvMkI0V0loZko5VXBpMUJLSmpJT1hvQ0hNejcyem5pTEFoaVVWMThRbXNzdTFzc05kejhnbkM2d1JrQ3IxNGhzVWprUWMrVTVTNGg5Qk8vTnJ5aklWLzdOdzd0N0Mva1h1L00zUGo0eXA4d1p1RmJkdnoyME5rd24vOE1yLzFYd1ZMYnNiQVVjd2JlUmFBTkRFV0hIMEF2eEdiRWFQOVp5QU9HSWhTaGs0RUFQbkdhQ1BuUkIySUZFYnJ3SEJ3bldyQ2dDdzRDVUdDTEVyell3b0FBSk5paWVsMjF3R09PTkZMd280NGtEQm5rQkViNjZONlJBaVRKQW81RWd1amtDakhPU0tPTk9yakdwQmRnTURoQ2lVZHNtV0lMSHZySEpFTWpocUNoRE9DeFp3NkhJakIwMzM5bGlnUmhsMGZHU0VCNldnYTVsSlZVVWhna1ExNlNNQmtZYVZaWHB4R0p4cm5raVRqdWlkcUhMVElFS0gvaW5XaWVFZWk5RUJFV1VWYjNJM1U0VEFjbmJkYzljV2tML1QxUktHOHJjZ3BFcWtiTUZwOXRiYXFBSXdBU3J0YXFFYUcyc09ZTXViNWoyMzZscGtaZXJEeXNhZ1AvbUhtY2lzMndBTXc1S1hiTmZiYkVvV0QwMnN4bElsbExFVmJJam5NV1pIOEZWbXduaFVscnpCdkJ0cklyQUoxTzhSWUFyM1lTSTRIcjlvS1d0NG1BSzFLNVRHd3FFc0FzUE5Nb0NBSWZnakJ1N0R4TWdsUVNaOUJ3R0hQY08wQzlMdHlDY1F0U1NkUXZiR2d0SEVJNUxENkpCd0h1TXBHVHd6ZG9RMmtKejZ4TThCZ05JSk52Q1B0d05YSnZQdlZnY2hVWmZlekNBVUZYL0F4WGVZaTdoa2wxQ1hzdkR6czd4N1JGcFRRUUI0eFhOOHR3MEVmY3pFY0FaRTV0SmdZSlBBQTJnUzEzaHJJb0F3d0d5dHBRL0R5T3pMSmM1QUFxWGNOc1lNL0JMT0RBQWdYUURZZll2Q0dkVEErNWJHejNPQ0V0cmd0TEJ0WXNlU1lGT0IyZlpPS1hZNVg1bGhUNDBya21CaUFlSk42U0QxREFBNC8vL1Vzd3FqL1FOdWhGUHpLQU5BdG9Ebm9HSWYvUit1NFVhRzFJeGNCbkVMbXl4VmQ0cjdQSms4RDUyYzI3SUxvbXYwZGZBZW95REcyOUI0RER0VDBPdGNmNy9jUzNqNStEMXVhM0dBRUFJZmtFQ1FVQUFnQXNBQUFBQUlBQWdBQUFCUDlReUVtcnZUanJYZFBpWUNpT1pHbEt6bkNjYk91KzRnRU1EbXpmZUxrQUFKSGt3S0JRWU9BQkNyK2hjbWtxR0FFTXBuUzZJVHhWMUt4V01Iak9hdHZ3TU9IbEVSRGlkTTVSNWhYVWNKaXNEWTNiVHpzNjRISHZTeEFPQ2c4TERBYUdCZ3NQQjA1Nk5INXBDQWNNQlFSZGVwZFBaNDlVQ1FjR2xaaWhiVDZiU2drS2xLS3FkQWFsUVEwTVZxdXpiU3V1TnFpV3RMdFhDcmN1RGdXNnZNUm1EYjhtQ0FiRHhjMEV5Q1FQektzREJBVUZoNGJYc3JPdDBCd0lqS3ZXREFmSEd1S3pIOThaQ3R5aEJBYStJdS9VOCt3VkROTnRBL0ltKzZJSW5NTW5JRUU2UFFRV29ERkJwaGdwZkEzcWpUcVE1QVNiWm0vWVJjUTBZRUZGRm5QL2RwRzdoOHlCUkM4RkZyN0lvOHJhQWdjZm9XMXNaTXRHa1V2VkNqd1lTRkRBVERvRXdOdzR5S09hZ1FNcWUwNUljTktJZ1pnd3VCbFZrRlJwQmFKR09nb1pDZFZxUHBwZTRTZ0FpQ1VzcEtabHpZckJ5bU9kMmpBUDlIaDdLMEZCelNVSUFENThtMkRaZ0twQ2JwWnhSUGNCdDdsRFV0QzVHemJZTU1KRDJHWlVlMkRmNUNCaitRRzJtcGVmVUNCczNiNk4yK1l5amdiNzl0STlPWURuRFFhTDZWSUk2UVd4RGFhanVxcGxyWnVGQWpxaVpRc2dYWWJ4QzZ4L2hWUEFYY2EwQythMWxWY1FmS1YzQ2RwUFNFclBYSWFQelZIU0xaeDB6dUtrN2ZDd3l6eUQwYm1NOXZDLzI3ZytnZDFNK0FzbmpadElqL0srQmF6bk5kRkcveFQrVWNEU0UrU1ZrRitCRk1UbnhYb3R0T2ZGZlBkSitNUm1JMXowSUlNVm5QU1pDUTVtd2lFRkM3WkFISUlqVG9DVmR5d2NhRVNDOTJFVlhBbjhQUkdnZjlRNTVVS09QTng0SDQ4QStCZ0NrRUpLUitTT2JSU3AzSkV0MUtoamlrUWs2WUtMYmtBcGdJd3VuUGlpbFN1NkVLSVJFSTVZSWdzYWlnaWxoeTVZYUlSMXl1MkQ0UWdudlhkZm1WbEZOV0NLVlBZQUExWXdLc2NuREhtR1dlQkpCQUt6ejRmaDBXa0VvaWVZeDZHVDl0bUFsYURoalhkRGZUeklLUnQzWHJENFFnTDdLQmtXa01rTnBkbDkwS0dJQTZZQXpGZ1lIWjdDa0NxWWJGckZHeENROHFDZldheUtXZ0pxdVNuSEdvVjdBaWVjbGxzSzhXVlJEQVJBbC8rYVJtZ3FLVXJFV2lYWkVvcjFzS3RYbGZFajdRM0xHUEFtWjAzNW11YTNYckZWcXBXdjZSRXJ1MVBxZ1FTOE5uVHJtWEFPUEVBSkUvWU90aTArRGl4QWlTV1U1dEJ2R2VZK2Nzb2tsaW14QUVCSDFPcEhKd3hqMHFjTHVZSlpyUitSZkFKeEdZWGlFTTRsQXYzU2dDZWc3UEx1Q3djMFZSU2pmckMxQ3Jva2hQUHhBRFRIWVZBekcwZnpjUTh3Yi9JVExRUFU2N0xHQkhFNlM4RWpKR0NZS0FYMFhNckR1MXlzZ1FLZmlOS1B4S1VBYVhFSkRzVHljMWIvUWpOcktMNEduTW9zVWI4MWRFRFdZSlBOTmlrVC9RRFgwR1Riek43OWpHc1ZzbnZUVWtET1Zua2RPRTZEY3lqejRWNzBFN1J5Q0J4OStBQTY0VTJYMG96UG9KTkwzd1VlM1BqWVJZMUU3d1VaN3dISUFZTVVja2dpQjFBMU9nZHNFZjQ2T0NkSlBYc0llaGQxKzZVYjdtNURqVmI3TG9JNHdRc1BBbk1oRzkrQ1lpc3JEeUxPenR1d2dPM1JReGtCQUNINUJBa0ZBQUlBTEFBQUFBQ0FBSUFBQUFUL1VNaEpxNzA0NjgyNy8yQW9qbVJwbm1pcXJtenJ2bkFzejNSdDMvaXRLSG52RndhZjBLWVlEQkxEWkt3QUFCeVVVSlpqMEN4RXJ5aG1jNERBM2hDT3cyUEJNSmdOaThkQjBmMU1tODJITjRZNE1Bb0VLbnpQQnhBSUJRdzhHbHB3Vm5NckNRY0dlWDJPajNDQUQyMFVEWHB3WElnbkNRcDRrSitnQUFNRkQwZ1NCbzRMbWlRTkRBU2hzS0VEQmcyV2pnU3JJWjJYc2IyUUE2K1BEcmtkRGdXOHZzbkpETVFhQ0FiSXl0S3h1TTBYRDlHeHdBVkFad2JjZjluS2c5WVNDSVhVZ1FjTkhnb0xudE5CNVFJS3diQUVCazhtRHE3aWtOWFdHUGpiTTR1Y0NnV01mT25MbFFEZHZ3V1VYQ1RBRnV2UXFnYjIvaDB3SldOQnJ5TVgvek02R3JDQTR3eVJvQlo2Y1lDU1Q0R0lNeDRrczRnRjQ2Y0JLbXUwdkFsVGlVMUlCWWJoa0tsTXpwVUVPNXNZTUdrajZTZWFTaHdTVk5YandMUUJRcFV3K0pYemhsTlF6SlFVZVlSVGlOVnBmcFFnMkZsV2lOUmtXWDlBb2lxa1FaZ3haY0ExQWlYUEIxRkhmVmNsY0tCQVRGNDhmd0RtUUNDdUFOTjVVVkNOakFzNXlodEhYU3RIZlFSVnM5aHNtVHhmZVF1QXJtaWYyUWc4UHUxaksyYldVSkRlV2cwYmg0SkhwbXZMN1JOYXR3L1pmUUw3em5HMmo4SGhPQ1R6VVl3Y1Iwdmh6VEU0V0FDZEJHTkh4Nk5QUVBBQUhnQjJLSXJ2WWE1ZHdyRSttVVc0ZGxuZXd0dnFJdDZHYlQvQlk1L09JMXFtank0K0VvcnJmWUJIbi84NTJmUVVnZ08zREZoQlM5bUYwRjhUNU5HbjN3bC83WUZmZTI4WlZZSjk3Q2s0d1Z1NXFRZVloeE1vdHdkOEg1Z0lCNHJhcWFqVUNTNEN3R0owTWM3SVFZMGtuaktpQ2V1ZG1LTUFPSnJBb1lVL2draWhJeGVXbCtFSkQ2YVY0NFQ3SlBna2RpY0F5QWR0MmhXSUFvTWszc1piQ2kzTk4rQ1EvbVhSQndFaEtvbGtDdlpKUXRtQVlhYlF3QUp2ZW9nZ2xUKzYwR09aZWJiUVVwSjlrakJXSHhvR21rS012Um02eVorS3FsRGhIb1UyV2tKTElFbHFRcE15V25vQ3BRSnFLc0tqaG5ocW5UZ05pc29CYVlDYWlzRUJvSlVhUTJMY0dNREFBbXM0WU9BcWF6MWlvNTZnQVBOSHJHblVpZ1ZwaWRwZ0Mxb1I5ckFucEc2aEJVRC9wRDZRYVNHV00wamJpMnBLc0VwV25jWU85QW0weEluVDFoQ2tnWUx0RU5ycUNnV29zSUI3d3dMK09BYUZsZFJRTzhPeTQzV2FSTG00Q1hIT0p3VG9td1NtWk4wNnd3Rk9ZVFhIVjN1SWFjTTVBdzNnNmhBeGptUXdEQlFCeksxWTFHeGtBOEtoQkp3THc1RkFGTU5FSkJjZ3NCY1YvMkxBeENNZ1JQSXM5a0xocFRMNHdNd0JQM3ZKc3QvQ3pnSkM2OG9YdU9OZFJVUnJZdTAwdjNaemhsN2VrbFZLWmNjNmEvVk5CbHljeTF1alJIMzFVenJud3E0VnUzenR5eWhoRTBOdkUxbTFRdkxWczJ5c21VT2RjWEswMmFLUVVuTmxqN3FxU0VKd2s2TDFhY0FCa09wMmR1RGh0U2lBQ09LaGNtbFhBSVlZWkhnVExCdDlublc0R3FvZHZQSXo1eDU4QXpvS2hZMXUrdW1vcDY3NjZxeTNua0lFQUNINUJBa0ZBQUVBTEFBQUFBQ0FBSUFBQUFUL01NaEpxNzA0NjgyNy8yQW9qbVJwbm1pcXJtenJ2bkFzejNSdDMzaXU3M3p2LzhDZ2NFZ3NHbzlGaEVQeFdEQU1VTU5pY1ZBZ2tFVEVnVkVnREFEZ3NGaE1JQlFZQ3F3dWNUQVF4dkI0M0h5NHFtTUpSVmZPNzRzSEJRY0pkeXdOREc5K2lZb0RCZzJFSjNwZmlwT0xCV2tpRElOWURnV1VucDZXSUFzQURrZ0lCcEtmcW9vR2RodWpBSmRGRDZtZkEyWUZVVkFGWFlpcUF3K2FHQWVTQjBtZG5tWU1CNDRkQ2d0N29NMFd4R0hHUXdxK2lRUUdzaVFPaDVRRDF4VFZZUXRERExWOGpONHBDbTZUQnNJSzYraEFDY2grQkF1dUxna1B0UEVwNEtnZUhBTkFHZ2ljSThqR2dZVndDSmdiZzlDSFFqOERGZ2k3UVF1am5BSSsveHhBRkZQQVh3NEUra0QxdU1pT25JK0hud2p3WUNtSHdEUWdLSlB0U0RBU3pEd2pEQ2pKMUpFU3pyMGpzQklOMEJGVXpqZ3MrU2psTUJqbktaS29sRGJPUU5EVHBaR2lpVXJaQUh0T0RWay83bUlrUFdoMmxWY1lDTmFGSWFDVmlJRlZBTjYrdUZ2MVpoRytxNDdHY0NBWGpGNGhnQVBUT0FzU1N5UzhGV01vY0dyeUNBSjFxaUxET0N1WTBJR3pIMlUwS0V6M1VRVjRoZUUwaHRFVXp1RkhDQmIwQkRQMEJjODVkVTJYSzVDNnRvdkpjVHJydnRBZzNoamZMY2dPcUR4OFdNcWx0aUZxYnM2aEFXOHdNQTdJU1V0OUEwRGtLeExQN1U1RU9ua2hDTGFmRDZJOTR2b2dyVW0rQjBLV3dmd2ZFRi9mcDVFK2p0LzlOemd3Qi8rQVBBQjNISUU3Z0dNQUwyV1lnZUNERUVZbzRZUVVWbWpoaFJoSzZBWXVCakN3d0g4WnBrQ1djQ0dpa0YrSkxVREVIWW9seU1FY2l5TVkrQWVNS3F3MUhvMG9rTFVhamlWQVpCK1BKUWdZeDRvOUJuTmhmRGV5OEFZallrMEkwWTRxYUJPSWhES0tvUjhKQ3hIQXdJdnJpUWZHY2k2Y0JRaVIxTjJtMmd1ZzBXYmtldy9JY1NVSmFZYkI1SG9RRFpBYkNsNzJNU1YxN2JIMUFwS0thTW5sRVhXQ21JS040b1JDU0p0eFFNa0NvM2c1YWtSYzZtV0hGd0FGM0VrRVl6SlVTVW1tbnZGQkpncENmZ0xxSFZ6Sk1aMExEYWhDd0tCRGlBbHJDakZwU2dTZ1lUeFFRMnB6R0ZvRW9tR2NPc05zWlBoS3hFUmpER0Nza3BQbzZobjdyMit1UUt5YzBiN0U2Nm95eERrR2lVSXN3S3V3TldoTGthMDg0RHJYc21HNml1NE5PZkZoa3c1NUtsWHREREN4MHlRT3VBSkRiRWs5dE12T3FHckZZUXhOVG1ta1EwZDlFSEJ2RHBCYU13SEJOVFZVUTcwSnJ4dERuMkIwaHRVKy9lQVJrQ0lFL1NBanQ1Z3AxVTBMOEV6ckU3azFsUG9qQnRrSWRiSUo0S2o4NWJ3enRBb0F0aFg0TzRrWlZGajhURFNmV216RHpoOGdtd3lIdWpEb3hTckFzSndEenhtY3d1dWxrTTJxbTNWWFl6MkpvZ2crNXJVdFlFZG9pTTFlTTJMMGZIa1FQZllmQmF4WklodkdwUjIzMWhkcXdRWGF0NXdCTUk5S0hOREVFMUZNVVFYZVFDYXUrT0tNTis3NDQ1QkhMdm5rbEZjZVFBUUFJZmtFQ1FVQUFnQXNBQUFBQUlBQWdBQUFCUDlReUVtcnZUanJ6YnYvWUNpT1pHbWVhS3F1Yk91K2NDelBkRzNmZUs3dmZPLy93S0J3U0N3YWowV0U0L0JZTUF4UXcySnhjQ0NRUk1TQlVTQU1BT0N3V0R3Z0ZCWU9yQzV4TUhqSDhEaDhVSGhjMWJHRXd2Q1YrLzloZEE4SmVDd05EQVNBaW9zQUF3WU5oU2NLQlgyTWxuOTBDcEVpRHBTWG40c0ZtcHNjQ0h5Z3FJcU9kNlFYRDVXZlpRVUZVVkN6QkcrZ0E0T3RGQWdGbjJaVWtCME9DMTJmQmNTdENvbU1CQVlISnc2SXNKalNwQXpXY282akszdmJjWTZFZUFuQWlnUUxyQzRKRDg2QXltb043MzRFQitRMEIvUnlCTXRGODRBR0xNQjM0eFVnQW1tS09OZ0hwOEM2SEtiQ0JVb29CS0NmQWRoK0hKQUlCbUZGaG1MLytnMzU5VWZrandRZ3d4Z2dLTVJBeVljNnpvbGJnR1VCeHdJc2NUQzRtQkhKUmo4R2VDaVFpREhTVDNFOUx6Z0l5Z0pCeXFLYmpzN3hSNkVUblJZeTRkQnN0Y0FQemdvUndTUTkwVlVPMDE0dTVUeVlFQmJNZ0p3bEVFZ2tBRGRTVmpJSUV0Z2NRNEJGMnFtOWZFbEVCdWNzQ2djU3gvYVN1b2dpaXJ0aENnUys4QmZkdDNBRFlFNld5MGl5Q3NoZ3RrNnVZRkdSNkJNTnd0RWRUYUhCcVVXWlZaU0ZvN2hWQW0yWCtxNDQ0Q25NNnRGNlUvNHhyQUlCb3RDczlhV3FuV0tQNWtMS1U3MWxMV052S3MvVVkxZ0hkVHI3QzhhV0hIdC9NVFRZZUJxbEZ4RS8vOEtwSmVic1Y1QlVWVGMrVmtYWTdjOTRMYWU3ZnUwY2lmZGYvd3dHd2FIYmdEV1VOOFo2Q01iUXpCandOZGlDZTI3VlY4SlNGdjVINFlFc2RQV1ZoQldZQTRCL0taeGpFb2dVR0NBZ0NnbFVjaUtLTVJ3d3hnRGV3UGhDWlc3VmFDTUxJTzJ5WXdzTy9FSGlqeVRNWmhhUkplS1hJWklhdEJqS2MweHVJT016VkVYSkFZNEhyV2dsQnNKeG8rT1dGNlNtUzRSYkdubUpRR0JtQUpvbFE0TFo1VUZrSXFsQUtnVHdRcDJXS0dDcGlnRlFrdEtpSTFXZThPYU1mSjczUUNBRnhObUJrN0RGd3g1RGRhSndLQ050ampabFlZOVo4dHQ1UFFZYXdxQmlWTnJMcEEwZEZrdWZwSEFXeDVjaTZDblFtdm14cGljQXNaS3d6eW9DSUNhSG9saUFseU9MbGVBNndhd0RlQm9KaFppaU1LVWpBcXBxNFArU1NLd1pXNTYwc2lvQnFjbWk1Y2RhS1VURHdab2o5bUttR0IvYTRPeU12QUxocTF2R09raFV1ajJzMndpOEsrekVEYjA1eUFzQWd6ZUFpeVlTMnpVRWJRekl4ckdTRWJOMjFLNE42Um00TUE3ejhmTXd3eHpORzRTK2plQzV3MEx3b0NwRFcxNGEwZkFjQStsUVlEMGErekN5Z2ZmWUVGMUpFL2NnSWpycTVPRk9LREgvZ051ZTFwWUFEbXdIYi9MZ013YjA3QUUxdWFpQzd3OFJQM1BHQVRFYlE1Z2xqazUyY2l4bTBGTExMVW1mYVNkcklLY2lOcUVlaytKYXhXTjNaalJyVnFXdGl5Z1N1Z2FxMjREYXFBZC9icE5SeDhENnNlRkczb0tVRGFNV1hIU05pVEJycDZrRUV3dlVJZ1VWQ2dpZTV1U1VWMjc1NVpobnJ2a0o1cHgzN3ZubkFrUUFBRHM9Jyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogMTI4cHg7XHJcbiAgICBoZWlnaHQ6IDEyOHB4O1xyXG4gICAgLyogY3NzMyAqL1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxufVxyXG5cclxuI0tKRVdhaXRDb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHotaW5kZXg6IDk5OTtcclxufVxyXG5cclxuLktKRUluc2V0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4jS0pFUmVwb3J0IHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcGFkZGluZzogMzBweCA1cHggNXB4IDVweDtcclxufVxyXG5cclxuI0tKRVJlcG9ydCwgI0tKRVJlcG9ydCBwIHtcclxuICAgIGZvbnQtc2l6ZTogMS4wZW07XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uS0pFRGVmaW5pdGlvbnNIZWFkZXIge1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6MjJweDtcclxufVxyXG5cclxuLktKRURlZmluaXRpb25Qb3B1cCBwIHtcclxuICAgIGZvbnQtc2l6ZTogMS4wZW07XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uS0pFRGVmaW5pdGlvblBvcHVwLCAuS0pFRGVmaW5pdGlvblBvcHVwIGRsLCAuS0pFRGVmaW5pdGlvblBvcHVwIGRkLCAuS0pFRGVmaW5pdGlvblBvcHVwIGR0LCAuS0pFRGVmaW5pdGlvblBvcHVwIHRoLCAuS0pFRGVmaW5pdGlvblBvcHVwIHRkLCAuS0pFRGVmaW5pdGlvblBvcHVwIHVsLCAuS0pFRGVmaW5pdGlvblBvcHVwIGxpLCAuS0pFRGVmaW5pdGlvblBvcHVwIG9sIHtcclxuICAgIGZvbnQtc2l6ZTogMS4wZW07XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG5idXR0b24uS0pFRGVmaW5pdGlvbkljb246YWN0aXZlLFxyXG5idXR0b24uS0pFRGVmaW5pdGlvbkljb246Zm9jdXMsXHJcbmJ1dHRvbi5LSkVEZWZpbml0aW9uSWNvbjpob3ZlcixcclxuYnV0dG9uLktKRUNsb3NlQnV0dG9uOmFjdGl2ZSxcclxuYnV0dG9uLktKRUNsb3NlQnV0dG9uOmZvY3VzLFxyXG5idXR0b24uS0pFQ2xvc2VCdXR0b246aG92ZXIge1xyXG4gICAgY29sb3I6IzAwMDA1NTtcclxuICAgIGJhY2tncm91bmQ6I2ZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1OTdCQjI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBvdXRsaW5lOiAjODhCMEYxIHNvbGlkIDJweDtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xyXG59XHJcblxyXG5idXR0b24uS0pFRGVmaW5pdGlvbkljb24ge1xyXG4gICAgY29sb3I6I2ZmZjtcclxuICAgIGJhY2tncm91bmQ6IzAwMDBENDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCAwO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgY3Vyc29yOmhlbHA7XHJcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuYnV0dG9uLktKRUNsb3NlQnV0dG9uIHtcclxuICAgIGNvbG9yOiNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiMwMDAwRDQ7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgY3Vyc29yOmhhbmQ7XHJcbn1cclxuXHJcbiNLSkVEZWZpbml0aW9uc0RMIHtcclxuICAgIHBhZGRpbmctbGVmdDoxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG59XHJcblxyXG4jS0pFRGVmaW5pdGlvbnNETCBkdC5LSkVEZWZpbml0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMS4wZW07XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4jS0pFRGVmaW5pdGlvbnNETCBkZC5LSkVEZWZpbml0aW9uIHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweCAyMHB4IDEwcHg7XHJcbn1cclxuXHJcbiNLSkVEZWZpbml0aW9uc0RMIHAuS0pFRGVmaW5pdGlvbiB7XHJcbiAgICBmb250LXNpemU6IDEuMGVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbjogLjdlbSAwIDAgMDtcclxufVxyXG5cclxuI0tKRURlZmluaXRpb25zREwgdGQsICNLSkVEZWZpbml0aW9uc0RMIHRoLCAjS0pFRGVmaW5pdGlvbnNETCB1bCwgI0tKRURlZmluaXRpb25zREwgbGksICNLSkVEZWZpbml0aW9uc0RMIG9sIHtcclxuICAgIGZvbnQtc2l6ZTogMS4wZW07XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4jS0pFUmVwb3J0IHRkLCAjS0pFUmVwb3J0IHRoLCAjS0pFUmVwb3J0IHVsLCAjS0pFUmVwb3J0IGxpLCAjS0pFUmVwb3J0IG9sIHtcclxuICAgIGZvbnQtc2l6ZTogMS4wZW07XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uS0pFQ2xvc2VCdXR0b24ge1xyXG4gICAgY29sb3I6ICM1RDYwQzY7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5LSkVDbG9zZUJ1dHRvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogcmdiKDAsMCwyMTIpO1xyXG59XHJcblxyXG4uS0pFQ29udGVudCB7XHJcbn1cclxuXHJcbi5LSkVNYWluIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFSW5wdXRGaWVsZENvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFU2xpZGVyIHtcclxuICAgIHRvcDogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFSW5jcmVtZW50ZXJcclxue1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxufVxyXG5cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFU2NhbGUge1xyXG4gICAgZm9udC1zaXplOiAuODdlbTtcclxuICAgIGJvcmRlci1jb2xvcjogIzY2NjY2NjtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFTGFiZWwge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjdXJzb3I6ZGVmYXVsdDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgLktKRU91dHB1dExhYmVsIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgLktKRUxhYmVsQm9sZCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFSGVscCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGN1cnNvcjpoZWxwO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFSGVscDpob3ZlciB7XHJcbiAgICBjb2xvcjogIzAwMDA1NTtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIC5ib2xkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgLktKRVRyYWlsaW5nTGFiZWwge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFVHJhaWxpbmdMYWJlbERpc2FibGUge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBjb2xvcjogIzU2NTY1NjtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0OmRpc2FibGVkLCAuS0pFSW5wdXRDb250YWluZXIgdGV4dGFyZWE6ZGlzYWJsZWQge1xyXG4gICAgY29sb3I6ICM1NjU2NTY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgLktKRURyb3BCb3gge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciBzZWxlY3QuS0pFRHJvcEJveE1vZGVybiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbmRpdi5LSkVEcm9wQm94RGl2TW9kZXJuIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQlFBQUFBVUNBWUFBQUNOaVIwTkFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFBbHdTRmx6QUFBT3dnQUFEc0lCRlNoS2dBQUFBQnAwUlZoMFUyOW1kSGRoY21VQVVHRnBiblF1VGtWVUlIWXpMalV1TVRBdzlIS2hBQUFBc1VsRVFWUTRUOVdSeXhHRE1Bd0YxUklGVVk2Ym9aZjBvZzZVaUVIaVdaYkJFSExJenJ5RFpIdjlvLzlBUkI2Sm93VXpmNVZHaURranpyYzQyVzUzNG15RjBGVGt4ZndwOTBIY0NHRmVaTlkxNi9JZ1ZHd3dreUxhUnhuTlN6MFJGMlpTSE8vSmJONDYxOTdNNkVrMXZaUHQ0L1d6T0ZHcXZjTnJJbmdDcEpZT3loVDd3U2hVeXJSSlJtV0tDVStsSTdKUlNtay9vSmUwYVVHd2o3ZUtTWnNXazZMc0tJNFdtZkJLR3VFVCtRRkVieG9IYTFpWDF3YVdBQUFBQUVsRlRrU3VRbUNDKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOjRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6NHB4O1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcclxuICAgIC1tb3otYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcclxuXHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFSW5wdXQge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0LktKRUlucHV0TW9kZXJuIHtcclxuICAgIHRvcDogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOjRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6NHB4O1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcclxuICAgIC1tb3otYm94LXNoYWRvdzogMnB4IDJweCAycHggIzMzMzMzMztcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0LktKRUlucHV0TW9kZXJuW3R5cGU9cmFkaW9dLCAuS0pFSW5wdXRDb250YWluZXIgaW5wdXQuS0pFSW5wdXRNb2Rlcm5bdHlwZT1jaGVja2JveF0gIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgLktKRUFycm93SUU4IHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCByZ2IoMCwwLDIxMik7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciAuS0pFQXJyb3cge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwwLDIxMiwgMC42KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgwLDAsMjEyLCAwLjMpO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsMCwyMTIsIDAuMyk7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwwLDIxMiwgMC4zKTtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVBcnJvdy5hY3RpdmUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCByZ2JhKDAsMCwyMTIsIDAuNSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgZGl2LktKRUxpbmUge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IGRvdHRlZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIC5LSkVMaW5lLmFjdGl2ZSB7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7XHJcbn1cclxuXHJcbmhyLktKRURpdmlkZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgY29sb3I6IHJnYigxNTAsIDE1MCwgMTUwKTtcclxufVxyXG5cclxuaHIuS0pFRm9vdGVyTGluZSB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbn1cclxuXHJcbi5LSkVDZW50ZXJUZXh0IHtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4uS0pFQm9sZCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLktKRUJvbGRDZW50ZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6ZGVmYXVsdDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4uS0pFU3ViVGl0bGUgIHtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuI0tKRVJlcG9ydCBwLktKRUZvb3RlciwgcC5LSkVGb290ZXIsIC5LSkVGb290ZXIgIHtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4jS0pFR3VpRGF0YVBvaW50IHtcclxuICAgIGNvbG9yOiMwMDAwMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiNmZmZmZmY7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICM1RDYwQzY7XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgcGFkZGluZzo5cHg7XHJcbiAgICBtYXJnaW46MWVtIDAgM2VtO1xyXG4gICAgbWF4LXdpZHRoOiA1MjBweDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo2cHg7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6NnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo4cHg7XHJcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMzMzMzMzO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMzMzMzMzO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAzcHggM3B4IDNweCAjMzMzMzMzO1xyXG59XHJcblxyXG4jS0pFR3VpRGF0YVBvaW50IGR0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4jS0pFR3VpRGF0YVBvaW50IGRkIHtcclxuICAgIHBhZGRpbmctYm90dG9tOjVweDtcclxuICAgIHBhZGRpbmctdG9wOjVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4jS0pFR3VpRGF0YVBvaW50OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDotMTBweDsgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXHJcbiAgICByaWdodDphdXRvO1xyXG4gICAgYm90dG9tOmF1dG87IC8qIHZhbHVlID0gLSBib3JkZXItdG9wLXdpZHRoIC0gYm9yZGVyLWJvdHRvbS13aWR0aCAqL1xyXG4gICAgbGVmdDozOXB4OyAvKiBjb250cm9scyBob3Jpem9udGFsIHBvc2l0aW9uICovXHJcbiAgICBib3JkZXItd2lkdGg6MCAxMHB4IDEwcHg7XHJcbiAgICBib3JkZXItc3R5bGU6c29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IzVENjBDNiB0cmFuc3BhcmVudDtcclxuICAgIC8qIHJlZHVjZSB0aGUgZGFtYWdlIGluIEZGMy4wICovXHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6MDtcclxufVxyXG5cclxuLyogY3JlYXRlcyB0aGUgc21hbGxlciAgdHJpYW5nbGUgKi9cclxuI0tKRUd1aURhdGFQb2ludDphZnRlciB7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDotOHB4OyAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cclxuICAgIGJvdHRvbTphdXRvOyAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cclxuICAgIGxlZnQ6MzhweDtcclxuICAgIHJpZ2h0OmF1dG87IC8qIHZhbHVlID0gKDpiZWZvcmUgbGVmdCkgKyAoOmJlZm9yZSBib3JkZXItbGVmdCkgLSAoOmFmdGVyIGJvcmRlci1sZWZ0KSAqL1xyXG4gICAgYm9yZGVyLXdpZHRoOjAgMTFweCAxMXB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOnNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiNmZmYgdHJhbnNwYXJlbnQ7XHJcbiAgICAvKiByZWR1Y2UgdGhlIGRhbWFnZSBpbiBGRjMuMCAqL1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOjA7XHJcbn1cclxuXHJcbmRpdi5LSkVHdWlEZWZuUG9wdXAge1xyXG4gICAgY29sb3I6IzAwMDAwMDtcclxuICAgIGJhY2tncm91bmQ6I2ZmZmZmZjtcclxuICAgIGJvcmRlcjoxcHggc29saWQgIzVENjBDNjtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgei1pbmRleDogOTk7XHJcbiAgICBwYWRkaW5nOjlweDtcclxuICAgIG1hcmdpbjoxZW0gMCAzZW07XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6NnB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOjZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6OHB4O1xyXG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzMzMzMzMztcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzMzMzMzMztcclxuICAgIC1tb3otYm94LXNoYWRvdzogM3B4IDNweCAzcHggIzMzMzMzMztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlSW4gLjRzO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzO1xyXG5cclxufVxyXG5cclxuZGl2LktKRUd1aURlZm5Qb3B1cCBkdCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuZGl2LktKRUd1aURlZm5Qb3B1cCBkZCB7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmRpdi5LSkVHdWlEZWZuUG9wdXA6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOi0xMHB4OyAvKiB2YWx1ZSA9IC0gYm9yZGVyLXRvcC13aWR0aCAtIGJvcmRlci1ib3R0b20td2lkdGggKi9cclxuICAgIHJpZ2h0OmF1dG87XHJcbiAgICBib3R0b206YXV0bzsgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXHJcbiAgICBsZWZ0OjM5cHg7IC8qIGNvbnRyb2xzIGhvcml6b250YWwgcG9zaXRpb24gKi9cclxuICAgIGJvcmRlci13aWR0aDowIDEwcHggMTBweDtcclxuICAgIGJvcmRlci1zdHlsZTpzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjojNUQ2MEM2IHRyYW5zcGFyZW50O1xyXG4gICAgLyogcmVkdWNlIHRoZSBkYW1hZ2UgaW4gRkYzLjAgKi9cclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICB3aWR0aDowO1xyXG59XHJcblxyXG5kaXYuS0pFR3VpRGVmblBvcHVwOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgdG9wOi04cHg7IC8qIHZhbHVlID0gLSBib3JkZXItdG9wLXdpZHRoIC0gYm9yZGVyLWJvdHRvbS13aWR0aCAqL1xyXG4gICAgYm90dG9tOmF1dG87IC8qIHZhbHVlID0gLSBib3JkZXItdG9wLXdpZHRoIC0gYm9yZGVyLWJvdHRvbS13aWR0aCAqL1xyXG4gICAgbGVmdDozOHB4O1xyXG4gICAgcmlnaHQ6YXV0bzsgLyogdmFsdWUgPSAoOmJlZm9yZSBsZWZ0KSArICg6YmVmb3JlIGJvcmRlci1sZWZ0KSAtICg6YWZ0ZXIgYm9yZGVyLWxlZnQpICovXHJcbiAgICBib3JkZXItd2lkdGg6MCAxMXB4IDExcHg7XHJcbiAgICBib3JkZXItc3R5bGU6c29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6I2ZmZiB0cmFuc3BhcmVudDtcclxuICAgIC8qIHJlZHVjZSB0aGUgZGFtYWdlIGluIEZGMy4wICovXHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6MDtcclxufVxyXG5cclxuZGl2LktKRVRvZ2dsZUNsb3NlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFVQ0FZQUFBQ05pUjBOQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd1FBQURzRUJ1SkZyN1FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBY0dGcGJuUXVibVYwSURRdU1DNHhPZFRXc21RQUFBQ3pTVVJCVkRoUDFaTFJEWU13REFXOUVnTXhUcFpobCs3aURVeWQ5aG5IT0UxUTZVZFBlaEpKbk1NVzBFOFFrVnRpNklLWnY0b0pzME1FUmVoZ2xHR3h4KzluTDBlbUtHVXp1eGRuYWV4MUkxQVcwazJoOVpCK1pFcUd6RWliZGgwckpFdVJCMjlpNjlsT1BhMk1xNEJucFhIY0tQTVQ5S1RIK2ZNcjZ3UG95Y0RyMGxtS09sK2J5akowZnpqKyszSXF3MTlReDNGNHFkYjdPODBsRFFxdXh1Z2VkSWoxaUtHTDJPWFZuSVIzNUI4ZzJnSFRQR3RZa1lFSWdnQUFBQUJKUlU1RXJrSmdnZz09Jyk7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxufVxyXG5cclxuZGl2LktKRVRvZ2dsZU9wZW4ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJRQUFBQVVDQVlBQUFDTmlSME5BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93UUFBRHNFQnVKRnI3UUFBQUJsMFJWaDBVMjltZEhkaGNtVUFjR0ZwYm5RdWJtVjBJRFF1TUM0eE9kVFdzbVFBQUFDeFNVUkJWRGhQMVpITEVZTXdEQVhWRWdWUmpwdWhsL1NpRHBTSVFlSlpsc0VRY3NqT3ZJTmtlLzJqLzBCRUhvbWpCVE4vbFVhSU9TUE90empaYm5maWJJWFFWT1RGL0NuM1Fkd0lZVjVrMWpYcjhpQlViRENUSXRwSEdjMUxQUkVYWmxJYzc4bHMzanJYM3N6b1NUVzlrKzNqOWJNNFVhcTl3MnNpZUFLa2xnN0tGUHZCS0ZUS3RFbEdaWW9KVDZVanNsRkthVCtnbDdScFFiQ1B0NHBKbXhhVG91d29qaGFaOEVvYTRSUDVBVVJ2R2dkcldKZlhCcFlBQUFBQVNVVk9SSzVDWUlJPScpO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxudGFibGUuS0pFVG9nZ2xlVGFibGUge1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGJvcmRlci1zdHlsZTpub25lO1xyXG59XHJcblxyXG50YWJsZS5LSkVUb2dnbGVUYWJsZSB0ZHtcclxuICAgIGJvcmRlcjowO1xyXG59XHJcblxyXG5cclxuLktKRVRvZ2dsZVRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZToxLjFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYm9yZGVyLXN0eWxlOm5vbmU7XHJcblxyXG59XHJcbnRkLktKRVRvZ2dsZVRpdGxlOTlDZWxsIHtcclxuICAgIHdpZHRoOjk5JTtcclxuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxufVxyXG5cclxudGQuS0pFVG9nZ2xlVGl0bGU0OUNlbGwge1xyXG4gICAgd2lkdGg6NDklO1xyXG4gICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG59XHJcblxyXG50ZC5LSkVUb2dnbGVUaXRsZTQ5Q2VsbCB7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG59XHJcblxyXG4uS0pFVG9nZ2xlSWNvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBjb2xvcjogIzExMTExMTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgIHdpZHRoOjM1cHg7XHJcbiAgICBib3JkZXItc3R5bGU6bm9uZTtcclxufVxyXG5cclxuLktKRVRvZ2dsZVN1YlRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTowLjllbTtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5LSkVHcmFwaEljb24ge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4uS0pFSW5wdXRJY29uIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuXHJcbi5LSkVJbnB1dERpdiB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMTAyLDEwMiwxMDIpO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uS0pFRHJvcHBlcntcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiKDEwMiwxMDIsMTAyKTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLktKRUdyYXBoRHJvcHBlciwgZGl2LktKRUdyYXBoRHJvcHBlciB0ZC5LSkVHcmFwaFRpdGxlLCAuS0pFRHJvcHBlciB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xyXG59XHJcblxyXG4uS0pFRHJvcHBlcjphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxufVxyXG5cclxuLktKRURyb3BwZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxufVxyXG5cclxuLktKRUdyYXBoQ29udGFpbmVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5LSkVHcmFwaCB7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uS0pFR3JhcGhUaXRsZSB7XHJcbiAgICBmb250LXNpemU6MS4xZW07XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYm9yZGVyLXN0eWxlOm5vbmU7XHJcbn1cclxuXHJcbi5LSkVHcmFwaERyb3BwZXJ7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYigxMDIsMTAyLDEwMik7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbi5LSkVHcmFwaERyb3BwZXI6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi5LSkVHcmFwaERyb3BwZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxufVxyXG5cclxuLktKRURyb3BwZXJSZXBvcnQge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLktKRURyb3BwZXJSZXBvcnQ6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi5LSkVEcm9wcGVyUmVwb3J0OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzZTtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNlO1xyXG59XHJcblxyXG5kaXYuS0pFRHJvcHBlZSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAgMTBweCAwIDAgMDtcclxufVxyXG5cclxuLktKRVJlcG9ydFRhYmxlRGl2IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIGJvcmRlcjogMXB4IGJsYWNrIHNvbGlkO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIHBhZGRpbmc6IDJweDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggI0RERERERDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogNXB4IDVweCAxMHB4ICNEREREREQ7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDVweCA1cHggMTBweCAjREREREREO1xyXG59XHJcblxyXG4uS0pFSW5wdXQgLktKRVJlcG9ydFRhYmxlRGl2IHtcclxuICAgIHdpZHRoOiA5NSU7XHJcbn1cclxuXHJcbi5LSkVEZWZpbml0aW9ucyAuS0pFUmVwb3J0VGFibGVEaXYge1xyXG4gICAgd2lkdGg6IDk1JTtcclxufVxyXG5cclxuLktKRURlZmluaXRpb25Qb3B1cCAuS0pFUmVwb3J0VGFibGVEaXYge1xyXG4gICAgd2lkdGg6IDk1JTtcclxufVxyXG5cclxuLktKRUNlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxufVxyXG5cclxuLktKRVJlcG9ydEhlYWRlciB7XHJcbiAgICBmb250LXNpemU6MS4yZW07XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6MjJweDtcclxufVxyXG5cclxuLktKRVJlcG9ydFRpdGxlQmxvY2sge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4uS0pFUmVwb3J0VGl0bGUge1xyXG4gICAgZm9udC1zaXplOjEuM2VtO1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmRpdi5LSkVSZXBvcnRFeHRyYUNsaWVudEJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSwgdGFibGUuS0pFQ2FsY1RhYmxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBib3JkZXI6IDFweDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxudGFibGUuS0pFQ2FsY1RhYmxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRUhlYWRlclJvdywgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUhlYWRlclJvdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ci5LSkVGb290ZXJSb3csIHRhYmxlLktKRUNhbGNUYWJsZSB0ci5LSkVGb290ZXJSb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG5jYXB0aW9uLktKRUhlYWRlclJvdywgY2FwdGlvbi5LSkVIZWFkZXJSb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcclxufVxyXG5cclxudGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUhlYWRlclJvdyxcclxudGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUZvb3RlclJvdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRUhlYWRlclJvdzpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUhlYWRlclJvdzpob3ZlcixcclxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFRm9vdGVyUm93OmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdHIuS0pFRm9vdGVyUm93OmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmM5ZDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ci5LSkVFdmVuUm93IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxudGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUV2ZW5Sb3d7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdHIuS0pFRXZlblJvdzpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRUV2ZW5Sb3c6aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ2YzlkO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRU9kZFJvdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxudGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRU9kZFJvdyB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRU9kZFJvdzpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRyLktKRU9kZFJvdzpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDZjOWQ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuaDIuS0pFU3ViSGVhZGluZyB7XHJcbiAgICBmb250LXNpemU6MS4wNWVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgLktKRUhlYWRpbmcsICB0YWJsZS5LSkVDYWxjVGFibGUgLktKRUhlYWRpbmd7XHJcbiAgICBmb250LXNpemU6MS4wNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OjIycHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDhweDtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgLktKRUhlYWRpbmdVbmRlcmxpbmUsICB0YWJsZS5LSkVDYWxjVGFibGUgLktKRUhlYWRpbmdVbmRlcmxpbmUge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxudGFibGUuS0pFUmVwb3J0VGFibGUgLktKRUhlYWRpbmdSaWdodCwgIHRhYmxlLktKRUNhbGNUYWJsZSAuS0pFSGVhZGluZ1JpZ2h0e1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwsdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFQ2VsbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGx7XHJcbiAgICBwYWRkaW5nOjEwcHggOHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246dGV4dC10b3A7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUxhYmVsLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVMYWJlbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUxhYmVsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFTGFiZWwsXHJcbnRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVIZWFkaW5nLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVIZWFkaW5nIHtcclxuICAgIHBhZGRpbmc6MTBweCA4cHg7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgdmVydGljYWwtYWxpZ246dGV4dC10b3A7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRhYmxlLktKRUluZGV4VGFibGUgdGguS0pFTGFiZWx7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFTGFiZWwsIHRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVMYWJlbHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVMYWJlbFBhZCwgdGguS0pFTGFiZWxQYWQsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVMYWJlbFBhZCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDoxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206MTBweDtcclxuICAgIHBhZGRpbmctbGVmdDoxMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nLHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbGxTdHJvbmcsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFQ2VsbFN0cm9uZ3tcclxuICAgIHBhZGRpbmc6MTBweCA4cHg7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgdmVydGljYWwtYWxpZ246dGV4dC10b3A7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVIZWFkaW5nOmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFSGVhZGluZzpob3ZlcixcclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGw6aG92ZXJ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwNTU7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIC5LSkVMYWJlbDpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIC5LSkVMYWJlbDpob3ZlcntcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA1NTtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbFN0cm9uZzpob3ZlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGxTdHJvbmc6aG92ZXJ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwNTU7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxTcGVjaWFsOmhvdmVyLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbFNwZWNpYWw6aG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDU1O1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsU3BlY2lhbCwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFQ2VsbFNwZWNpYWwsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsU3BlY2lhbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGxTcGVjaWFse1xyXG4gICAgY29sb3I6IHJlZDtcclxuICAgIHBhZGRpbmctcmlnaHQ6MTBweDtcclxuICAgIHBhZGRpbmctdG9wOjJweDtcclxuICAgIHBhZGRpbmctYm90dG9tOjJweDtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbEJvcmRlciwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFQ2VsbEJvcmRlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGxCb3JkZXIsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsQm9yZGVyIHtcclxuICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XHJcbn1cclxuXHJcbi5LSkVMZWZ0LCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVMZWZ0UGFkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFTGVmdFBhZCAge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLktKRUxlZnRQYWQsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUxlZnRQYWQsIHRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVMZWZ0UGFkICB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG59XHJcbi5LSkVDZW50ZXIsIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRoLktKRUNlbnRlciwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5LSkVSaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLktKRVJpZ2h0Qm9sZCwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFUmlnaHRCb2xkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFUmlnaHRCb2xkICB7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5LSkVDZW50ZXJCb2xkLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZW50ZXJCb2xkLCB0YWJsZS5LSkVDYWxjVGFibGUgdGguS0pFQ2VudGVyQm9sZCAgIHtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5LSkVMZWZ0Qm9sZCwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFTGVmdEJvbGQsIHRhYmxlLktKRUNhbGNUYWJsZSB0aC5LSkVMZWZ0Qm9sZCAge1xyXG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwxMCwgdGguS0pFQ2VsbDEwLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDEwIHtcclxuICAgIHdpZHRoOiAxMCU7XHJcbn1cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDE1LCB0aC5LSkVDZWxsMTUsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsMTUge1xyXG4gICAgd2lkdGg6IDE1JTtcclxufVxyXG5cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDIyNSwgdGguS0pFQ2VsbDIyNSwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGwyMjUge1xyXG4gICAgd2lkdGg6IDIyLjUlO1xyXG59XHJcblxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsMjAsIHRoLktKRUNlbGwyMCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGwyMCB7XHJcbiAgICB3aWR0aDogMjAlO1xyXG59XHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGwyNSwgdGguS0pFQ2VsbDI1LCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDI1IHtcclxuICAgIHdpZHRoOiAyNSU7XHJcbn1cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDMwLCB0aC5LSkVDZWxsMzAsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsMzAge1xyXG4gICAgd2lkdGg6IDMwJTtcclxufVxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsMzUsIHRoLktKRUNlbGwzNSwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGwzNSB7XHJcbiAgICB3aWR0aDogMzUlO1xyXG59XHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGw0MCwgdGguS0pFQ2VsbDQwLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDQwIHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbn1cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbDUwLCB0aC5LSkVDZWxsNTAsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsNTAge1xyXG4gICAgd2lkdGg6IDUwJTtcclxufVxyXG50YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsNjAsIHRoLktKRUNlbGw2MCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRkLktKRUNlbGw2MCB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG59XHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGw3MCwgdGguS0pFQ2VsbDcwLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbDcwIHtcclxuICAgIHdpZHRoOiA3MCU7XHJcbn1cclxudGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbE5CLCB0aC5LSkVDZWxsTkIsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVDZWxsTkIge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwO1xyXG59XHJcblxyXG5kaXYuS0pFUmVwb3J0VGFibGVTaWRlYnlTaWRlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjbGVhcjogYm90aDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5kaXYuS0pFUmVwb3J0VGFibGVTaWRlYnlTaWRlOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxufVxyXG5cclxuZGl2LktKRVJlcG9ydFRhYmxlRGl2TGVmdCwgZGl2LktKRVJlcG9ydFRhYmxlRGl2UmlnaHQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDQ5JTsgLyogdGhyZWUgY29udGFpbmVycyAodXNlIDI1JSBmb3IgZm91ciwgYW5kIDUwJSBmb3IgdHdvLCBldGMpICovXHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG59XHJcblxyXG5kaXYuS0pFUmVwb3J0VGFibGVEaXZMZWZ0IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG5kaXYuS0pFUmVwb3J0VGFibGVEaXZMZWZ0OjphZnRlciwgZGl2LktKRVJlcG9ydFRhYmxlRGl2UmlnaHQ6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbn1cclxuXHJcbnRoLktKRUNvbHVtbkhlYWRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKlxyXG5Sb3dzIGFuZCBDZWxscyB1c2VkIGluIHRoZSBzY2hlZHVsZSB0YWJsZVxyXG4qL1xyXG5cclxuLktKRVNjaGVkdWxlSGVhZGVyIHtcclxuICAgIGZvbnQtc2l6ZToxLjJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDoyMnB4O1xyXG4gICAgcGFnZS1icmVhay1hZnRlcjphdm9pZDtcclxufVxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVIZWFkZXJSb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcclxuICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGJvZHkuS0pFU2NoZWR1bGVUQm9keSB0aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlRXZlblJvdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVPZGRSb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVPZGRSb3c6aG92ZXIsXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVFdmVuUm93OmhvdmVyLFxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlSGVhZGVyUm93OmhvdmVyLFxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlRm9vdGVyUm93OmhvdmVyXHJcbntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDZjOWQ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVTY2hlZHVsZUhlYWRpbmcge1xyXG4gICAgcGFkZGluZzogMTBweCA4cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi5LSkVNaW5IZWlnaHQyIHtcclxuICAgIGhlaWdodDozMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ZC5LSkVTY2hlZHVsZUNlbGwsXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGguS0pFU2NoZWR1bGVDZWxsLFxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFNwZWNpYWwsXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsU3Ryb25nIHtcclxuICAgIHBhZGRpbmc6IDEwcHggOHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbDpob3ZlcixcclxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aGVhZC5LSkVTY2hlZHVsZVRIZWFkZXIgdGguS0pFU2NoZWR1bGVIZWFkaW5nOmhvdmVyLFxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFNwZWNpYWw6aG92ZXIsXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsU3Ryb25nOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDA1NTtcclxufVxyXG5cclxudGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ZC5LSkVTY2hlZHVsZUNlbGxTdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbnRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGQuS0pFU2NoZWR1bGVDZWxsU3BlY2lhbCB7XHJcbiAgICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRUNlbGxCb3JkZXIsIHRhYmxlLktKRVNjaGVkdWxlVGFibGUgdGguS0pFQ2VsbEJvcmRlciB7XHJcbiAgICBib3JkZXI6IDAgIzAwMDAwMCBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xyXG59XHJcblxyXG50aGVhZC5LSkVTY2hlZHVsZVRIZWFkZXIge1xyXG4gICAgZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbn1cclxuXHJcbiNLSkVTcGxhc2h7XHJcbiAgICByaWdodDowO1xyXG4gICAgbGVmdDowO1xyXG4gICAgbWFyZ2luLXRvcDo4NXB4O1xyXG4gICAgcGFkZGluZy10b3A6NDJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS94LXBuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZVQUFBQlZDQUlBQUFDM2x6OE5BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBa1lrbEVRVlI0WHVWOGRYZ2MxOVcrSFllYkprMFRKMm5TdEtHdi9acjJhd3B1R2tQQU1jbk1IRE9qSk51eVpMRmtNVE9EUlJaYnpFd1dnOFd3b3BXV3RMd3I3WXJ6ZTJkbnRWcEpLMWwyblA3KzZEejMwVE03TzNQbnZ1Y2VlTSs1ZDdYa3gvL3VZOGwvTi93Zi82UDRlWU9DTGphMW44ZUEwS2xDMW9PMmt0UzJoeml2WjNUb1pucGVUbllZbXhobmkzbVVnWjdSOGRIL3pNVDhSL0diNVFhODdiaHZoZC9Ga2JGUm94eS9KWlpxYjlydllRclpKam4rT0YvcGZ4bVliUXREMzNMWSt5Ky9TeUtwZUhSOHJMSzNnU2tjK1BsazhUUGlsNDRONTNSVUdCVUcyNVJHdGczMFRFNU9sdlkxL2NKdTU0dlcyNUxhU2xhSDNBQm1OSXZpc1BYaE9qalJ5dldkL0hIeVVKd0ZlZDJxTUxTSFIvdkErZEFMMXRzS09pcCtKaEU4WS93VGt4UEFpYkVLSktJOUVmb2tFclJYN0hZRlBjcUFWbjhicElHUFcwSzEzblBjdjhSeU04NC9jVG42TzVmRE9NbHFLeFZLeFY5NG55VWYrWjNyMGNpbS9DVld1R2N6VGNCUzRFZi9kT0VBTE9XWlNPUlo0cTlsVXM0bTJjR1lNYktyS1k3QXNOejU0SlVVeDcvNVg4YjViMXdPZC9Ib3ZqVXBTd0diUUtYMlY1L3pienZzSmRHK2JyK0hOY2pyRXc2OGJyY0xIMSt3M2txSXdPMEg0cS9MNGRHSk1RWGFYaDc5STdjZnppWFpNVVNjbnk2Q1o0T2ZJUnpReXZSNDAzRWZobnNpMFVZOFBQaXU4MEdBOUtwSmhrcGpvQy9aYk1OWEVmWFowSXZsc3R2UTd1VDZYMDl6SWM4M2hHcEJPN0xheXdobHNkMmhtZTZxMEozdDRicFFLd1ZVelF4MzhxdWc2aVJjSEI0YitTbFMrS240aDBhbHRnOGpQbkE5c3RSU2JablY1Z3ZKRG5RaG15UG0vb3FZMk0yK3RTbmtFTit3MzAzaXg4ZUxxVTQ0aHhZVTlkVEJMeXlUVGJWcC9qMThaVmNTanZNVnZoZFpJdmI3VGdkSm5McDUvaTNNcmhGWlJPaGc5NzRtNndydFdycXJlSGpvQzk4TGVybitJdW5nMDBuaDZmR1BUMHp3aG9SQk5ha1l5a3MyMjUrMzNncElSbmtCNURpK0Q3dU42eCs0SHJVdUROMGRiVXpxZndlM240aDJ0RGExVUMyTlpFZm93dmpFZUZoZGhrOWRXcWZzcTVqR3ZCMFJlbGV6UE9CRnZDb1RTSngzczd6aE1yKzdwOTdKbzUxSnNGYm94ZG9nVFRKd0lGNDBNaW1rMzNuUzR5bnhqNHlOV0JhR0dCV0dDS1NpVTRrMktlMmw1NUx0b1FMdnVCeHE1MUF4aUNwNjJ3ZHVSeFZqaGM2SDFHY3RjbkFURTRTMmk0YUhMQXFDdDhlWTNFaDNXMnE5NVhQdnMxbnRwZENqNTZ3MmI0dlFRODlRTVlSUG5NQWloa2VIZFhMOUNydHFGdmtLeFcxUGlUK29PdmxGNjYwN0kvUmdtWmhEZE5jbllKS0dmU1hWQ2FxQks1aFM4NExnNDBtMmVqbCt6YXl1cDVzZlFoQlNjVUZQWFVKVC9xVmtlL1QvcWNlSmFub2JOSTRVN3R0T0J5aWNQdGVLdU9kdHRpMTMzQjlRblV5T1o1SEhFK05INEFIbTVOWVN2UHRQN2llVTQ1QjFVU2d1dm1HM3U2cXZlWUhYUXhBVEUrT1NFUW1kUjJ2dGIybm9yUzlxS2E3b3FLenJybXZ0YngwUURvRDJBQU1jNTZ4T0dDTDJyV3p2c0laczNwRGd6NTZuU2Z4YU9UNlo3V1drSWtBMVhyRFpkaVBEWFRJNi9PenhZMEMxOVBiUHZjNXNDdFdDOHIrQlFHVzFXU0FWSzk0RWIvUVB2MHRua3V6NmhkUGhtdndXSWhzYUZ2Y01VRXBiODZKTGdsMlRiWXdqZE8rRWFtbmVVNy9rZS9tVTU3bkRyaWQzT3gzYmJIL29PK3Y5NjIwUEgvRytwcGZnSEYyUjBzM3BIeHVmRG43eTNpWW10a2NiRVNiZ3VLK3dxeHBlQnVjdjIyejNLSXY1U0hhKytiNE9Cck1ZRVR6Qi9ITUdlWEJPOEhNS3E4Wko3a3hteGhaemxXTVZSaUFkSGFKeE9pdmJjNUxLUSs0WGVBUm1PN21uV3RzbjNEV1BOakM0cjYwVmZPT2EvN1d6M2hlT3VaL1o3M0o4bThPUjliWUgxbGp1WFdHKzY0K20yMzVudEdXNzEzWEJrQkRtRGFWUTdybUoxWFV5M3NvMHgyOWx3RlVNQTdSeW1kV1dmd1JjQ2ExT1hoRjRkVStzS1doQ0Z1WHhySEd4K0hrU1VYaGRCZ0o3WVcvOTlReTN6OXlPa2V4dFRlQjF6aUJmcGFRbHcwTHFRSE10SmFlNE1UNjdOaUs1SWppMnhEY3MzOTAzMDk0bDJkSW16c1FrVWxkSHBnSVhmQytkOUR4M3lQWGtUc2VqRyswT2ZtTzE3MHZ6WFgrK3UrTWo0NjMybWZLQUFxZVkwVkNVMmxpa1NJMWtzU09kcEZMSFlzMHNTOElSSmo1MVA1NU5xZXpqTTc0TXVQS08wNEdTN3JxRnRXQlIrQkdOVGlmYWZIVlBuU1FiTUdDK1ZPUlRtZkNLelhiNC9KdHBMclBlTVRvdUhSQjBVdWpsemIyRjlWMDVsVzFwUlkxeFdUWGhpV1gzb29xODcrVTRlNmJaT0NTWW1VVWI2Ti9Ydmhta2VjWHZ5bVcvYTdyM0RXeVNuRHh6QXQxemc1eXpBNjB6ZkRVaUxUcFlQV1RudzZNam03dzBYdEpadjhibFVtRjdGWGtSM3Nlak1oNldDTDU0THRFMnVqNzdoMWd6QkE0STYxYTZHK1R5aWZ1eERqWVJqK1k3Rm9WL1FNeUZhd0VoNmVIUmxUdHlMb2tFYjJNcDhkQ0p5WEd4bE1YaXQ5QTVqWDBEdFYyTWlsWnFNVVJRMFpwU1VCK1RYaFVXOTlBL2RFb0ZuSk9zN2hmZUsyc3ZaZkRvczZ4bTduQzVZdjZwWU1QZm11NTVVZnY3NTdXK08zcFBuOExxSlgxa2NYZnR4eDRuZ0haZDJPMUJtZGxqaHVLYkN4RTFjZkZ6bjNOZzFrK1BIOUVGN3ZRdjhMZFdtNE1hc3FrOE90d3ZHV01RNTZTalVrWFhvMk1TNFNDVkwrNUc0NGs2Qi9pdE5IWTlSQUF0cUtWa2xqUWx3QXFnQXBGRjNuRmxJWFhkbFNLSlFPV3dZTzJEMGtHVllVdzRKTXBvTHIwUWJ2R1orY0hmR3U4S0swOGxBMUFIaDdvdTVLWnhZVERPa1Z3N1ZUeUFPeVNkSXY3Q2JRMk9xSGFIajVuL09scmIvN2lmT0ozaWNEREdGQjI5YUxQdHQwNEgvK1IxZW1Xd3BtOVZvaUtrWXg2R2hybUFMWmIwRHcwekpjT3NRUWxOSU82R0lrQUxPbWlsOVYyNVVJRzhSOUc1ang1ME1wcUhsYVJHaW1Ca2JMaXByeW1zT053NDF1cHlrUFp4WC9Vcm9RWjBXYVZFNWNFV2NlTnFjM2I2M3RhS2N4WktpQmlFM0JISWgwYWtPbG1laUlJWTdRci95MGt0UlgvMk92TUhyOU85TW40NTkxZ0lQK0RCMWNIUExiWGEvQXRaV3Fab1gvaWM2K016eWU2ZzgzeHhQMGZZTGhxaVNrZllvMlBDc1hIUjhDZ1hJdUNLS0hST0ExU2dxU2UvcWoyOWhWb2huVE1QbU9lS2puTHpXUE96M2hmbEx0RDI0TmRXZTAvNGFTcU1vcFZPYWFVUmFlV3NBNEJyZXB1aXkxSlFXU0svQ3ExTFh5WlQrM1hoT2pSWjRhU1oyVW1TNjRuSjRaR3gyU25qdlBnQm5pWG1JcThBd1hoWkprNjBiME51WnJRVWUxUW5OZy9JM2RMNHhDaUQxMDdqMUhPRkZBQWVHZVBqTlpPVG94Q0JaSmdKaldCeW03cVpsUzNVNGdGKzcxd0tLQmprKzJkN3dRVmU5cnQ4eW9zTUFUL0lRc0RlMEpKWUJkcGpJWWEvTnRycVhoQTVsd3ZnSG5RcmtvakpyNFpHSk1makxDNGwyYzJpUUdQakF1cUFXenZ0Qms2VWhUZ3YvaDR1N1YybkF5Y1RiUnBZbldDN3NueU80SGFSanpJVno0OVBqSFV6NnlqME11RG5DRHNJL0tPOGlRa0o0UmJHaEVOU0JsL2N4ZUEyOVRDcitXSVZtc3dSc2QxVEhmVHVhOSs0cHpFTC8xcnIvY3dwL2VLSXVPK2JiSC9oenJxWGREZFlaOTZiejFQaU9ySVNqRTA2T2p6TGR3eVBNdnZaZ1IwMGcyYnFXUVl2YkhKeWJHUk16dERteGU5UWRKK2NjeUEvazJ6dlVoNExzNGNMTkM4TUlmRURmQWV0QnI2OXZmOWgzMEFkdkoxd3NBZHpEaEdnU1VjR1JFTjlFQXFOMHlBY2tsdUtzdURoQXNJTEF4RUM5Y0p1M3dqU0FBc0VCVGpvZW1JSEtJRHR3YXZCZHhRM0I1WEd2NmEzNGZrNzY1YnFmUCtTenJyd2lsU1Zsb3lMY1A0aXlheEVlRkk2U21QeEUvc0dmTG9ZbHQxTUs3WXd0WXRwMU5DemMyU01HTlc4K0pIYk9wWkVmQ3lyd0tEOTJuSGYzZ2k5bSttdUVwbnJBb1h2b05VK2JFNkVZMitoRm5VenEyRG5RQXNSd0FWQ0VlQUxlQ0lLbEo4blVxSDI2S0dzclJBczBEUktUMWRHZ1M3NlhqcmhjZmFneTRudERrYzIyQjZNcTVLRHhLenU5Tkg4aGQ2R1pUTDhTMit2ZmRka0o1Mm5RcUNFcWRNN0w5dzNIeDFUMUk0bmgwY1ovTUV5bGlDVnpvM2dpdklHQk1sdC9acDFYUnVxT3I2Z2MvMVY0NGM1ZGJLcHNRMDVON0s4dnZTN1JQSTh0TGNjOXpXeXVralo5N0VwbVRYaEJmV3hGVzJwRFYyNTdmMGx2YXhxaUdCQTBBb3BvTEVGYmRCOE9xY1pEbUx1ZElra1F2OXNWNXNIQkFYVURybWxIbmo5dk0vRjR4NW45anNURkhpSDAvRUJJWnQ4cXJHLzdTUFRuYS9xcmlmd2EzKy9WT3U3SlZyZnFzZll6YzJPY0xONWVzQnpHbXZjQ3FKa2ptWnlkSncvT053cEdLb1ZETldJSkExMGJuZ1h3NksxVDcyaFoyOXQxOWRkVEdNWWdvcjVyNkcxL2txV1RzbWIxV1prVjU5Nm5qUW9DQUlSeEdzRWc3ekU4cENrOGlERTg1TG1oT3FPak1idVBJaWdtMUZKSGFqdFp6OUMySWRGOURDcmhFT3pFeUVTVlJPMTFpbkozRExHMERCY1I1WUNYRVVLOElQNzZiM094N2JZSHphTXRWTDRPZHZNZ0YvcGIzeEZkLzF6T3RQNGx4dHVBL21aSzlZdnpBNHR1Yjd5VjdjM1ZQYzJBeHRjSGVaZk9rb1hTUnBaZ2hRYUo3aUg2ZGhKTjZXeTNUa2lGR01KVWpRYlB5UkhNa2V5dmUxOHdMazh0cEZCSVhtVlRQTW5NMnJpUU9OalMveFNLMFB5NnFKZ0JSQUJ0QUE4Qjc2QVFpdWwwTXB3MGttdlZEbjU2Q0c5SnNFdTN0UXNTcDgwZmppLzAxN25qN2llMnUzMHcyYjd3MWtOZWVTN3hOTEJqZTRYMzlEZitKSWMvOW9sbVA5YjN5NjU5WTFORmtGMWxJODJldWNTOVZYQWo3YldHVXNNSTRoRW8rT0NJVUlGYXRqQ0hDWS9rU1BNNG9yeSs5amVqYjFIR0x4UVZmaC9uT3ptMFF4eS9ONXhrRmNwZitkKzNLSWtIRVVJOG1VVVJxdG5taTA0ZkVTaFYzeHBRRnBWYUc1ZFZFbFRmR1ZiS253QjNHRkRkeTRhVHZyWnJYT25DRmZHeGtmRDhuMnRZbzJRQXV0QStRT3VYL0NSR3orYzMyR1BDOHlwYXZkRFNzMXZqYmY4VW0vRGkxUEdEK1VIK0NVM3YvN0s0ZXlnZEFhbE0wOFBKTUdUTGFveUhTb0FFNUNNVU1YU1ZqUklnY21QNzJFNnRkTjBtbnBQZE5CdVFrQ3o1eitnTnMyNTRnSHlKeXFmY1RQZDdaY3kyb1BDRGdxU0dEcVlxWCtXbTNPU2hYZTZYVkN1UzJTaE4wUUFMY2l1aVNoc2lJVVV5bHFTeTF0VHlNWWZWSzM4bzJNamZwbXVkekg1VThuUG1TbmwzMnAveER6QmdhUUorSHNuM3VsdGcwMXdmcVR6aC9OVDRIOUphMjFkZjd0Q3ZuamdTOXRUeXZqL2JIWlFNakkwUGlHQkNLU2ovZkFDYkdFMm5SdEZIZkRzWkZoME1TMVpncGlKeVpFWitNRVpWaEFPVHcyWnc3cmdteWdxWmJTWG5rK3dzU3NPSjk5VTBWNktpR1ViWjRJRTFpZURFRUZFb2VlRGgzNWc5WkFDTXJ5Y3VraFlCSGh1L3FNWXpMUEsrVWNDNjV2cEJzdS9IWHlUblB5VG5tZFIvMER5dThYK1NHRnJLZmtVUjh6N3AvV2hHY1ovbTNCKzVQd3Z1YkhHUG5QYUJCcjdPMTdYV3FlTWY1bjZhdi9pQndvVmdBdmdENWJ6eENXQ3dTcWNzUGh4a3BIdTJmb3ZsQTRlaWJQNHZldFJFRjdTL2tGN0QwWWJrN1VVcERvdUtZNEc0VG9vWGNCNklRSm9BZW9aWWZrZXlHb2hoWVRTUURoRjVQbkpGVUU1ZFRFcXdlTWlRbHA0VWJCTzZDM05leHFYWkpaLzFJM3dmRnNkamh6eHVvUnFCL2xnVW0zMk93YWJDT1hYeGVURCtjbU1uOFIvNCtzbG1tdTJlSVBNeVV0RDl0bWh5dURKODMvYm5SNGFSaDRsR1IzandoRU9EVlA0Z3hVTVhtd3Z5NTFDTjBFc1ZHWC9rNU9nelhGTitidGpUZCtVY2I2dGtmcGpzdVVYRk9wdUJkOUF1REtLdUVOcUFRekJJOVhhTDlNaEtNY2xOTTh0dk1BVHVSMWtnWlpkRnpjZmZsd3ZiU3U1ZVUvekt1SDJMeDUzUDRPd2o4bFhzenRrayt5bWVPcGtrTzZ2RFRhcVZINFMvN3Q2V3dTeXpBZWxvVFZPRitmaWYvbkd0L250MVJPVG80UVhIT2tWU3VxNTRpSW1Qd0ZjRUZiQUVSSDE2Tm4yMzhudTlheE9jcWlNYjZTMzAwV2NzRWVaV1pSSzBocjljd05RcUFCWGhRaWd2VEJnNndmR0tHTkFFVHhTYldBTy9sbU9VQWU0UnJUVXFxZ0Y4UE1IZVFZUitvajVwT2FqOG9ld3Q5NzJZQVdsbW55S0xXUi9aTEx0ZGIwTkwwOTVmakx5SzVRZitKZG9ycTdwYVNJbWhrWjUvZmI2dWZoeDVXS0VOYWphK01UZ0NLRUNUR2pCeU5nQWNoTXc5TWxKSW5HZWdUKzk3U0ZSMVpScFBzcHA1bm1CWkNVYkIzK1FmejFRRTFFYUlnQmRnK25DZTRHOXdCWWdCVEE1cDBSekNNSXR4Y290MVJvdE5OOTdBZno0S3E4eDk0elhoU051cDZENTREemdmUHZjemlsNHUwOWg1RnNHRzErZDdmbW1sUi9nMGR6endzSDIzZk1pVklMSHhiK1lIZVJQcFlZcXh6T05IMXIwZTNkVTlkUStkRDM2Qjg5VEtQaThacmV6cksrUmZLeTZxd1lUQllvR0VWenl1d0xHZGl0SUV3VmN1QU5Jd1N4YUgyUUdnb0JSMk1hWjJzV1pPaVZhd004dklBTEVaK2RVTnhBK0VONU5kZ2UvdGQ3bmt1bEwzZzhwcUxsZmd1VlBoWDE0ZmhXVHYwUmo5WWRHTzc5eE9QK2UzdFo1OEgvMWdzYnFHbXFMWWhnY01Vc2c0Vks1blZuTjhTTmpCSkdmeGwvVzh3aHovcG5uU1JUTWVJUDhqYUZha0lWcmFUVDVjRUJCNkI2blk4aFBJWUl6WHVkQjEyRzlHb0hxWUcrSTRhQXhzQWpqaUR1UWhXbWtIbGk5YVpSK0oxTkZ4cTRzRWJnNjdYQ2pUWGFIa08ydHNkcmIyQ2NmYUUxdjR3Y20yMVJQUGp5L1RQT0pwckdLSUR4VG5FZVZDTDVhY3Ywcmo3d0l4VXREeWp4U0gwVjRGbG83WkJ0d3hVUjRuc2J2VkI1TFpQakJOK3I2bXFGVU43Tzg4TkZHbHUzQlk5KzZid2ovREg1MndPVUVpQ29xOW5CZEYzMHZrMUpBQWc5QmFJZmNoRmVIVXFEaEpLcEVIalVYMEFLZW1IY2xTR2UxNWQ1RFhsY2tJL0pTbW1tS3A3TGJWMm41bVB4RjRqOFZkbGRSZDBodWlMb2RmKzVTMUNIOXhNdE1JVkVVbWNaL0x0NktpUHlXYXM5YmJYbkpiaWNxNnZnWTFaU1BteEJtdGpzZTMyQjdBRjRLam5xZjgzSENGdHpQeUtSd0FRRWMyU3NFY1QzZ0d1eENROVp3Y2lkTWg4R2Z0NENsRUFwSXJtNk1sVTllR0hrRlNySEM4WlRjN1Uxem50bVd2MGp3bVArVk5pZFJKaUk3WjR1Wk9jM3hkQUcxbTkwbUdTRXk1V244VnZuMy9uM3Yrb2N1UjE2ekpaQ2pZU3NDY2lIY3hCS3l2N0xZamJMOE9wc0RpRkt3MkYyT1VBUkNDdEFGNUswbzNjQW9vQkZ3NllwMnp2dWliNDcvWWxialFDdkZza2lHSTZPcDVIWDlqZkpzVnpubXl6aVBYUGtYUGZuQS80SHVaaFFGeWM2cmVrc01rcS9xSlY2MnlkSVZTdWJrUDhUV0VnR3JpdFlhMFpDam4rMkRsU3lzNStDeHVwNkd2NXZ0L0xmRmJxek1ZSDBLdmhwWkNpa0Y2QUtpTndSeDFPM1VNZmZUVUFxaWVSQi84ZkdrNS9tQzVxSUY5SC9XVjZqYm53ODNrN0ZkZ3ZETTFQd25zbnp3SDhMNDBWN1EvQm9yQXVTTHN0dVN2WXBzREpPdmVSVmFjd2VKNnVCajZyK2s1ZVEzbFdBMTZxOTNkL3pMZk5kS2l6MVFoTFUyTWluWUhZWlRnRVZBRVBDT2tBWDhPWmF4eUlhUHVIamM2MklMclcyUklrRHA0azZpNjh1Nkd3andjcDgvcGZsUE5mbWtDRVJUbVZJcnErRmVtVnZpby9DTXBnY2lLVkVJbE9OSGhpQWNxcFdPOUNGbkJtZVdjWVBwNWRmNHFuUXN4WDFtc3UzenU5di9acllEaXJES2NnOUt0TjlaRXhZQlFjQW80QnEyRXUwSWdqbFVBMy94RVJmeDFTR1A4OTFUOWRMSENnTDJrbGlmLzVuNUFZTHR6Q0U4aTNONzA1TlA0bGNVQ3hyNnE2SnJnOXp5emNNcXZKc1p4TktZSEQ5MXdCbTFRUXJkbU1yeVlIQmp1T0ppc2JSdGVJd0Y1alQ1NDBSc1pkcTdCcHMrTU5yOHNmSFdQMHhKQWJvQXA3QmFKZ2hFYjlqRjl6YjdJUTVGdzBjRU5uejF0ZFcrM2E1bnE3cnFGcjhGZ0NWZ0h3clNmeEVKSDJIMlQ2bjVDaE5BYVlDVWUzbFBvVVdHdGs3Q2VZdDByVFlXUVcybThMTmRtcWluT21qNnZTeFhsTXFRS2lKYkhocnVRc0VjL0RtbU1oVkZDQkN5M3hpcWZXaTBSUzRGMCszL2QzZkhQOHgyUWhEUUNNaGlwZVVlNkFVa2dvWVRmTVJGTk56d1Q3T2QzOWtkVGFqTldvdzdKTWVLb09OZEhQdU93YllaQWYveE1YLzI1Q3ZyUDJXZ09hVFVMYkxTSjc0MlpJYjlpeVNQMk1JME5zb2o0bUtraDROU2hJZGVHVlVXd2h5eUdncFJnVUlSRnRub2NvTk5rTUp2alRiLzNwaXdpRCtZYnZ1VDZmYS8zQ1ZrOGNYZEhYODNJeVJDTmxnS1hNWmY3dTc0M0hUN0gwMjM0K2IvTmR0bG51STVOQ3g1ckJXUU4wQmZxbnNhdjdBK0ptTTdpd240S3NBdjAxZzk3ZithRTR5U3Ira21YYkhMTWVRUEVXc2hTMGJIc1V5NXVyNUhyYVVQK20rQSthZHh3Z1lFR1VnVkI2WHR5Qm1RUDFaUWFoR1FVSUVucFVEcXdydUdhdTlQQ1FJTDFaOFlid1hDLzVuWlBqWFpCbVdCcEtBMUh4aHVmczlRN1IxRE5kUnp1d2NXV3BPZEpSMldrS1BtcWJFVStCL0Q5bFNBeCtTL3E3TUppeUprbnl3aHJhQXQxYWZZbGlIc0p6VVIrRG5WbEJYVmxIODE5T3hyNjcvUnhiQkJlc2ppSi9NR3l3YUhnUjh1WUlncEdDQnFyenJybnB1U0F0SlNKR2R2Nm05RWlvb3NIYklBTm9nRElCVU5INkVwK0FvM1FGNjRHWS9nd1ZmMTFuOTRkMWRJZVRLV3RCZXBDQ0F3RjBMTmxtbXNtUy9QbWJvdWoza0t5OGZKbDFiSHlIVVJIRDVGdHRxSkYwQUJQUXVzc09KSTRJZUhhK3pkOTZoYnJZMTJqVHJneXVMSDg4UkZpQVVvbUEyTmRNTUZqazFnWFhIa1BjTnRSRXdpcGFDekRpRWF5UW5VQVhqQVZkSGVrSWxqVm9POUFETytKV0hqRVNnUmhFaXNaTnhaZnpIQ1F1VjZsa3FoZ01NUUlsQmZQYjhJVklBSC91UEJxSFBMWTFuZ1F5ZmZFb2NXUmgxM2tFVlcwT0gvc0VKQzVROFc5WFA5K2ptK3FJMmlUc3pnUGVDS0NvV1NCaFFQNFFMR0prYS9jVDZQOGd0aThwUVVwZ1VCU0NqUmtPSjRSVzg5Y0pJTkgwRmpDY3k2aEx4Z1FVUU5HNVFXUWlUQys5cmQvdHFMZDRjWUs5WjVON2hmZjFMOERsbnlCYXZoTVdrSkpkc3FVMGM5OW5oMlN3SXBaYm4vWndzVDZybzNObFBQb3pDRUVFam5ScU5VZ3ZrZkdXTmovdUVDdFJKYzVRR1psTUp0NkFLcERtUWpHQnNtZG5hVFhaZTFLZGh5WWtQa3M5SFY4cVhFYmxhdmRJcWlMbXdSM1FOOTc5NVJteS9WVTFaNytibjZxdkllZVFvL0lLTHJKMTI5Rm4wMHFlNStEMGVlbThyeFM0WTc2M3QydHZaZG9RNjRZNTFJS0hra2tqU2hZRFFWQWtmU0c0dUoyZ3ZSWkxSRTFzQlBuN3U5OXBkNktORnVrczhxSVJSVmpSQVpNTXZTZUZuN3pHei9nSWdnMTFDQmZmNDYzemxmN09Lb1hxS2ZKUkdmb3RnNStGVnJQa1R3djZiN09HSSsyVVBuUUV0WWxhL21nMU9hc1NmN2VQS0ZMRGwrRUQ3K1lDR1d5cGo4Mkg1MkFCRUNoSm1Db1dyb1Avdy9iSVFwNUx4bnVKMWdJM0lweUFYeGxzSFdzbzVxRUtUWDdtd2s0TWx3RWxEbGFLY0JUL001V1E5WG8rMUlzK3poMEZESlE1RC8xR3gvUlZmOVl6MGlWbUwrYUxwUFNRVHpnZ2YreXhGV2lnNmpxd05qYTRPTHUzTHEraXZJNUc5YS84a1BQREVXY0c1M00rMXBuQkN3QUpBZnNraEd6dExoSUVPQ2lxRkJDbE9DMk9ldmpXLzdPTFRmR085VXpPMk1FOWx5elhTVFBmdks3ZThMMnVXbFByL2lCMVAxak5VZkcrOHU2eVJvNmNLSFRvTGJBZzVmWVFVdmFxN0phaWxUZEpYVmt1aVNiNGI2ajNMbk0vSWZrUDh1aGhsQ0FOYk1GTWdWZHlmV0Z5eTcrUTNCeHBDS1RBbUNYSTJHZEw2d096RURwekptc21KUE1sbWlyVmxoZDVLc2RzRC9iL0ZRbHhkendPMDBWbjFzdEx0T3FXS2xVaERGSGJVeS9Bdk5QTDc5dTlVUENxNkZhb2QxNXAzTFVZZDFFaTRVVTZaM0lzL08vN0Frb3NoOFVDZDRVQnVrQ0I3WUMvSjMyNVB5dVNLS1VHdGUwMTRuR0JLUlF6eCt6MkFLbmdMbk5PQ3AxSjE0YXFubUd1dk1JUElwS3BlK0RIS1JJWmZURy9WVi8yZjVBM2ZCb2lXVnkxaXV2V0ZoL0V2VlZ6b3BWYjZTNnlQOGl1eFlJcHBnaU1zZmtpOHV6OVovaGJDeGRBTVBHVnJocFIxL2pxMjBkUU03VUo0anNoRlorVTF6TmZ3V3VTS013Nk1vWnFrOFJTV3JGQ29iOGRUck9oczZwM2IxT2VUZVYwYXVLT2JkaVhkZHdBU1FIWDFpc0dOaC9COGE3VkxNRGJacVZQVVVtYVJxWG84NUZsZEhMSHNxRHRYNWYwTi9wVlhtbmJTbTJMQUtyNGVkT1lxNytVUENQMWtjbGswWFFjanZLMjNGcU94ODlPS3Q3eFNpbWZkRVkvVm1EM1ZGaDhTaUhjbHFaNVl4c1ppRkhWN3ppV0F4K04wTHBoY2dhcWxsR3JISDFXT09oNVo3dGpBZVBSNC91Q0Z2a0ozVmttQ1VvcDdXR0t1Y3QwWlhaeEZqMVZpMS9JNWFuOUkrREZqeSt3Z1FVNm94bGJHUWVZc3NkWmxxa1JWcDVBaWErdHBmdnZuZGZIekdxL2pCZlBocGZOYjd1cHNYbVArL1dmMmdxS2FpazZFUmNXbFhybU9Pa1YyMkFWalE0L0hqRHI4U0Ivc2NRenhRMlZQVXk1MnVaS01Xdk1WVEV5TFk0NmN6aTcyZERiMnJqSE5hc1pWc0cxSlQ3TXkybUxsaVBVc1FKd0wxNThQZnd1eDVIaktkeC8rOWV2UGJ3amI1QmxuMGtGQWZqb0tmUzk3ZHNFcnZPbXJack8xVDg5YS9oa2NsdGRUU1czRm5MRE8wczFzU3hWTDVzaVI2UkRubEEvM3R5c3BQRGpTcnNXUmFtUlZhUGZQa1lpUVdwQWlYZ1pvbi9QTUMrY3dtNTB2ejRROSttREFmK0dYcXF3eVRQSlZCZHJGYjlaT3VtS1pxUmxZSENHUTF6MFhOUCtZMnB1WmVYbHN5dktCZTBwWFFDay9sM1o2cGpjVzkzQmw3Z2RFcG1Na25ocnNXZ1BTOHhwcVNqbHJ5OWVWZDlhL2RYTHZBelZ0ZHI2ckVEMnpIRUd2bW1md043dGZJN2FES1J3T3RDbUdQSVZDUmRDOVUvOFRXZlppQWRhYU9YNG05ZDVFTlJ6eTk2d3F5bUZ2TXdoV2RSUGNGSVAzVDVnU3EvZVRJZE9JVkhHWjYwNGJ5czVmdW02dkVqNjJlYjg4VC9ENDNPOURObmliUnZWeEtTa00wMWorUjZyWFE2OGlDOTJMbm43eXZzQ01qcE55anVDTnpkSHdFbmdOL0ZjK3JGRUUzaDdhYzhFeXFJVm1ueVRmekl6SjlZWGwwd1dUK3E0Q0hpU3J4STU5VE9mbkx0VGMySysyUlJjeHpMN0NNcXZLenk5YlBiU1dXK2xVZWo2bC9BM0FUdlFZcVIrUDNXbWZxM3EvMFVmWjVFTUhjQk5ZbzFlODVWV3R5YjJKOERIbldBZktMc3RRQ21TeUs5Z3llaXUwemRQN0ErN3BiNXVML1VIOWJWYmM4endOT0RCamtMYUxLRjludS9YSXZ0M3l6cDhSUFB0WkVxelpJdm1hZmJRQXZncFVqNWI3d0pnVUZJcStEdXEwQVRaeWpBdHM5TlVsaFFXb1hJcXdYem1HUEJ1ak5IVEZXQjRnUU04ZnlQNzk3b0x4ek9xcWpmemhzUkc2M0FuT3hWSUJBaGdYZm40UWZGTWcyUzg4dVM4Kzl3Q0s0ekUwazVTdDNOM2NyWW5sbi9YdDNabGdCWmp1MG5QZ3RLQTd3NkkrTVpybkpHVXoramR2cm1taVVXU01HS3RlQ3FCYzF2NTZGZjVYaitUWkd0L0xOV05qQWJNVlVCMnJHbnZBc3RFTE5iejd3dVA0WS9TZWZ4QTczMU1ab3IwSXIrMnhEQ01JaHh4Q01ZbGFuc3d3aDdsRWVkRmd4eWN2MXQrRUhIT1FqbVNnbHpKKzlMTk5ZNVpJYlBzdTVRc1JCNWFtdjNrSzhVSktVK3NvTG9YZjVVd2tJb1ZuNGhScTFGTm9lVXgyQStYZk5OMnRqMWk5Y1lsb1VmblNOakFBclp6QW51Sk95cnJ6aWpneVVVMmFKUUdZTDB6OVVMbXFyL0hocW5xK0dUK2ZoSjRLTjU0dGVyOXo0eG56T0RtOXN6SEF1aUhvZUNjVVUrS1hYVjM1cXNpZStObGRaVEhnMWxuZU5VcTdYOUpRQWZFVjNBVFk1S0R0c2xWcXdXUHg0R0F0R0R0bUdDQ1RWUGNXNmlaZVFUc0t1NXU1R1Yvd0xBRHpTeWU0N0hYcjNqZHZyeXlqeXJCNmw2TGQwTnFyRS82bkozZ2ZWMmVTUFh4VUhLRGJLbmtzSmh5cWYrVGQxTnR4ODRFVG56L0NPbytQREtRMVJrWlcrSnFrYUlLemdMTGx0Y25OYlFQa1hxLytLTHJyWWJhZ2NwalpFbWFkclZmWVVCcFE0eHRRRWtSdEpsQTlNQzJDUW9zSGZCdnEwbUdLcXM1NVRuNUc2UDYvNTlRcWJFMVlaZ2ZEdHlwMWdEOGE5aHdsL3ZMdGZnZnlYdDllZHUyK0IzVTV6SVNYWFIyb25uSSt0Q2FydnIzVElNZkl1c2gwY2xpZm16eEkvK29JN3dmcXhVZkoxMENIdllsdEVCS3lscW53SDRvTGkxOEdLRytxcHJVN1pJYVlwUG1oVzZRSFJGV210ekI3eHpKMnM0SkdocGNuL3RENkczVHNrZVBoTGsyVHZkbGJ2TE8xQXQ4QlozcFVQWThSNGpGTTFVT0dGTGlENEx3eGI4ZTBUNkwvaUdSQWgxTTlTRzJPY2NvMVJHb2VEd1Z1cHZFNlZlOUx4Rkc0Z1hjTUM2NTlZWXVBT0NkUHFDL0hicmwvZlVYdEJjODNyV3QvLzFlTHdyUWRPQmEwVmNBSHo0ZWxrdDJJL0M3eHlONmNkTVI5cXYvaFYxaWZXZjhVZ0FPWmhaeTY1aE5qT2F0Ukx1bXlSb1lVYUE3bW9NdCtCSEJtREd4c2ZWL2hrS3J1L3FMWEN0eVJlSThydVc1ZkxhbTdYTG9TWU91U0VKdFVYOWlveDJia2REbzlKQ3RyU01CT0lSUEJFeHNuWGthVDA4Ym9YT2UwL2FmNlYzNEVSSUNLWXBtcmt0aVk5Nml2SDZncGJ4SURpUCtrNEZuOC80ZWRGak9qcUFLZGNFeEJicUxyL1F5ZWthbGpQZklyM1BvMytLNDhWWlpLaytuQXNKL1h6dXpFZ0RFcy82WEkvcjV2S1ZlR2xGZzl5N3AxRURhdTNKSzh0eGJ2SW1zN3Z0Y25Velc5TndaejdGdHNIbGJveUJIMVAxL2xQeFkrM2t2WlcxMWRtbmFWN3I4ejFYTVMrd0ZJWGtBV3NOOFEvQ2tNRUJuMTZ1c0dSVDRIUGdYMDg2cXZBcHFYcTNvZlJOWUdZN1dKS3BuK3BVMFp6SE14dzhkNXU3akNlQVg2eVUzQUI2TDlwNmczUEFzdUxrUWZnazdIVENnNVpQQ3hFQm9scWFqKy9CekJrem5raGNVQ2FjT253STNnUXN3MDdCNDFEejhoQndlVGhkN0dIeFREbE9tU2RWQjh4bjhkZHZMaWZHWDY4RWtRQVVzaHJUWVp5d2ljWkpsMDFTN3RGNDNXcng1N0EwTEhsQkVKeHpEWHhLYll2YXM5b3BGVUJET3FyY0tJb3pwTzdFWEJVOWhUYlp1aytxQWxxb3RWY2pqcVUyUnlmMzU0YVVPcU1DSWNld0RzaXEveFpJanJjL2srWjltZm0vMVI1Wmluc3Y3UXpwN2F2ekF5WXUvUEJtcTlHSDdiSTFBYjQvTGJVUmxvMXpBUnpXOWFWZnpYNktFb000WlUraFcxRVVSVEdnb29qYnNEa1A2VGtnR1ZveDU5dnB0Vm94SjVBR1E1OTBnVjlqNlcwaTU5ODNQa3M1My9XaStHbys3aWRKWlFzckxkQUhUQnZ0dGtHTmRTSDhON3VSZGIxdENvVWx5elRicmtWV0dCbERoa3JIc2NqY0J4WXE4aHZTNG12QzNVdHNJaXFDa2hyakFiamhvdDlvc1h5UlVyaFo4U3ZQQUpvTHpRY1RNRUNCWWtLYjRBczY4eER2Q0FYNUlOTFhTMHpkUkxyaVkzSzhPMXc2WkFJOWlweDV2a0YwU0t4TGVhMi94RCtXVU9SakE3QkY1SS9FRUkxQVY2anVxKzBsZm40eGQvRlFIcWllLzcvNEgraUlmNnNOLyszNC85L2lITW11c2tzeDdzQUFBQUFTVVZPUks1Q1lJST0pO1xyXG59XHJcblxyXG4uS0pFV2lkdGhDb250cmFpbnQge1xyXG4gICAgbWF4LXdpZHRoOiA5MDBweDtcclxuICAgIHRleHQtYWxpZ246bGVmdDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBwYWRkaW5nOjE1cHg7XHJcbn1cclxuXHJcbi5LSkVXcmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNjY2NjY2M7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuXHJcbi5LSkVCcmVha0hlYWRlciB7ZGlzcGxheTpub25lO31cclxuXHJcbmRpdi5LSkVMb2dvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY0MHB4KXtcclxuXHJcbiAgICAuS0pFQ29tbWFuZEJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6MTMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjBlbTtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI0tKRVNjcm9sbFN0aWNreSwgI0tKRUZpeGVkLCAjS0pFQ29tbWFuZEJ1dHRvbnMsICNLSkVSZXBvcnRCdXR0b25zIHtcclxuICAgICAgICB3aWR0aDogMjg1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LktKRVRpdGxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVXaWR0aENvbnN0cmFpbnQge1xyXG4gICAgICAgIHBhZGRpbmc6M3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLktKRUxvZ28ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJVxyXG4gICAgfVxyXG5cclxuICAgIC5LSkVSZXBvcnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LktKRVJlcG9ydFRhYmxlRGl2IHtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICNEREREREQ7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAjREREREREO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDAgI0RERERERDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlLCB0YWJsZS5LSkVDYWxjVGFibGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRkICB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRoe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjg1ZW07XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0aC5LSkVTY2hlZHVsZUhlYWRpbmcge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVXaWR0aENvbnN0cmFpbnQge1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVMYWJlbCwgdGguS0pFTGFiZWwsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVMYWJlbHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OjVweDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVMYWJlbFBhZCwgdGguS0pFTGFiZWxQYWQsIHRhYmxlLktKRUNhbGNUYWJsZSB0ZC5LSkVMYWJlbFBhZCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDo1cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OjJweDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZWxsU3Ryb25nLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbFN0cm9uZywgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGxTdHJvbmd7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDo1cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OjJweDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZWxsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGx7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDo1cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OjJweDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgI0tKRURlZmluaXRpb25zREwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDo1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgI0tKRURlZmluaXRpb25zREwgZHQuS0pFRGVmaW5pdGlvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIH1cclxuXHJcbiAgICAjS0pFRGVmaW5pdGlvbnNETCBkZC5LSkVEZWZpbml0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDIwcHggNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICNLSkVEZWZpbml0aW9uc0RMIHAuS0pFRGVmaW5pdGlvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC45MGVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgICB9XHJcblxyXG4gICAgI0tKRURlZmluaXRpb25zREwgdGQsICNLSkVEZWZpbml0aW9uc0RMIGxpLCAjS0pFRGVmaW5pdGlvbnNETCB0aCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgICB9XHJcblxyXG4gICAgI0tKRURlZmluaXRpb25zREwgdWwsICNLSkVEZWZpbml0aW9uc0RMIG9sIHtcclxuICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgIH1cclxuXHJcbiAgICBkaXYuS0pFUmVwb3J0VGFibGVEaXZMZWZ0LCBkaXYuS0pFUmVwb3J0VGFibGVEaXZSaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7IC8qIHRocmVlIGNvbnRhaW5lcnMgKHVzZSAyNSUgZm9yIGZvdXIsIGFuZCA1MCUgZm9yIHR3bywgZXRjKSAqL1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NTBweCkge1xyXG4gICAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjY1ZW07XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo1MDBweCkge1xyXG4gICAgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjVlbTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MDBweCl7XHJcblxyXG4gICAgZGl2LktKRUNhbGN1bGF0b3JUYWJsZSB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMCAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwO1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LktKRVJlcG9ydFRhYmxlRGl2IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRkICB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0aC5LSkVDZWxsLCB0YWJsZS5LSkVDYWxjVGFibGUgdGQuS0pFQ2VsbCwgdGFibGUuS0pFQ2FsY1RhYmxlIHRoLktKRUNlbGx7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDoycHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OjJweDtcclxuICAgIH1cclxuXHJcbiNLSkVSZXBvcnQgdGFibGUuS0pFUmVwb3J0VGFibGVTaHJpbmsgdGQsICNLSkVEZWZpbml0aW9uc0RMIHRhYmxlLktKRVJlcG9ydFRhYmxlU2hyaW5rIHRkIHtcclxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgfVxyXG5cclxuI0tKRURlZmluaXRpb25zREwgdGFibGUuS0pFUmVwb3J0VGFibGVTaHJpbmsgdGgsICNLSkVSZXBvcnQgdGFibGUuS0pFUmVwb3J0VGFibGVTaHJpbmsgdGgge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC42NWVtO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVNjaGVkdWxlVGFibGUge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBwLktKRVNjaGVkdWxlTm90ZSB7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICAuS0pFTm9QcmludCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAjS0pFQ2FsY3VsYXRvclNjcmVlblNpemUge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICAuS0pFV3JhcHBlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgICAgICBib3JkZXI6IDAgc29saWQgI2ZmZmZmZjtcclxuICAgIH1cclxuXHJcbiAgICAuS0pFQ2FsY3VsYXRvclRhYmxlIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNjY2NjY2O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwO1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDA7XHJcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMDtcclxuICAgIH1cclxuXHJcbiAgICAuS0pFQ2FsY3VsYXRvciB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVDYWxjdWxhdG9yIC5LSkVNYWluIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5LSkVDYWxjdWxhdG9yUmVwb3J0VGFibGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLktKRVRvZ2dsZUljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLktKRUdyYXBoSWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuS0pFSW5wdXRJY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVEZWZpbml0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLktKRURlZmluaXRpb25zSGVhZGVyIHtcclxuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICAuS0pFRGVmaW5pdGlvbnMgZGwge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhdm9pZDtcclxuICAgIH1cclxuXHJcbiAgICAuS0pFRGVmaW5pdGlvbnMgZHQge1xyXG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVEZWZpbml0aW9ucyBkZCB7XHJcbiAgICAgICAgcGFnZS1icmVhay1iZWZvcmU6YXZvaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLktKRUNvbW1hbmRCdXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI0tKRVNjcm9sbFN0aWNreSwgI0tKRUZpeGVkLCAjS0pFQ29tbWFuZEJ1dHRvbnMsICNLSkVSZXBvcnRCdXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVEcm9wcGVyUmVwb3J0IHtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgfVxyXG50YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuICAgIHRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVIZWFkZXJSb3csIHRhYmxlLktKRVNjaGVkdWxlVGFibGUsIHRhYmxlLktKRVNjaGVkdWxlVGFibGUgdHIuS0pFU2NoZWR1bGVFdmVuUm93LCB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRyLktKRVNjaGVkdWxlT2RkUm93ICAge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbCx0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRkLktKRVNjaGVkdWxlQ2VsbFN0cm9uZywgdGFibGUuS0pFU2NoZWR1bGVUYWJsZSB0ZC5LSkVTY2hlZHVsZUNlbGxTcGVjaWFsICB7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcclxuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRoLktKRVNjaGVkdWxlSGVhZGluZyxcclxuICAgICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRoLktKRVNjaGVkdWxlQ2VsbCxcclxuICAgICB0YWJsZS5LSkVTY2hlZHVsZVRhYmxlIHRoLktKRVNjaGVkdWxlQ2VsbFN0cm9uZyAge1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggYmxhY2sgc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5LSkVCcmVha0hlYWRlciB7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBwYWdlLWJyZWFrLWJlZm9yZTphbHdheXM7XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LktKRVJlcG9ydFRhYmxlRGl2IHtcclxuICAgICAgICBib3JkZXI6IDAgYmxhY2sgc29saWQ7XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOjA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDA7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMDtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlIHtcclxuICAgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsLCB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVMYWJlbCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggYmxhY2sgc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDFweDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZS5LSkVSZXBvcnRUYWJsZSB0ZC5LSkVDZWxsU3Ryb25nIHtcclxuICAgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcclxuICAgICAgICBib3JkZXItc3BhY2luZzogMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLktKRVJlcG9ydFRhYmxlIHRkLktKRUNlbGxTcGVjaWFsIHtcclxuICAgICAgICBib3JkZXI6IDFweCBibGFjayBzb2xpZDtcclxuICAgICAgICBib3JkZXItc3BhY2luZzogMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGNhcHRpb24uS0pFSGVhZGVyUm93LCBjYXB0aW9uLktKRUhlYWRlclJvdyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggYmxhY2sgc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgdGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbEJvcmRlciwgdGFibGUuS0pFUmVwb3J0VGFibGUgdGguS0pFQ2VsbEJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuS0pFUmVwb3J0VGFibGUgdGQuS0pFQ2VsbE5CIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUuS0pFUmVwb3J0VGFibGVOQiB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5zcGFuLktKRUFjY2Vzc2libGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMTAwMHB4O1xyXG4gICAgbGVmdDogLTEwMDBweDtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgd2lkdGg6IDFweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5maWdjYXB0aW9uLktKRUFjY2Vzc2libGUge1xyXG4gICAgZm9udC1zaXplOjA7XHJcbiAgICB3aWR0aDowO1xyXG4gICAgaGVpZ2h0OjFweDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgei1pbmRleDotMTAwMDtcclxufVxyXG5cclxuc3Bhbi5LSkVBY2Nlc3NpYmxlSW5MaW5lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogZm9yIEludGVybmV0IEV4cGxvcmVyICovXHJcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuZmllbGRzZXQuS0pFQWNjZXNzaWJsZUZpZWxkU2V0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxubGVnZW5kLktKRUFjY2Vzc2libGVGaWVsZFNldExlZ2VuZCB7XHJcbiAgICBmb250LXNpemU6MDtcclxuICAgIHdpZHRoOjA7XHJcbiAgICBoZWlnaHQ6MXB4O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICB6LWluZGV4Oi0xMDAwO1xyXG59XHJcblxyXG5hLktKRUFjY2Vzc2libGVTa2lwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTEwMDBweDtcclxuICAgIGxlZnQ6IC0xMDAwcHg7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuYS5LSkVBY2Nlc3NpYmxlU2tpcDphY3RpdmUsXHJcbmEuS0pFQWNjZXNzaWJsZVNraXA6Zm9jdXMsXHJcbmEuS0pFQWNjZXNzaWJsZVNraXA6aG92ZXIge1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcblxyXG4uS0pFUG9wdXBMaW5rIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4jS0pFTWVudVdpbmRvdyB7XHJcbiAgICBjb2xvcjojMDAwMDAwO1xyXG4gICAgYmFja2dyb3VuZDojZmZmZmZmO1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjNUQ2MEM2O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgcGFkZGluZzo5cHg7XHJcbiAgICBtYXJnaW46MWVtIDAgM2VtO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjZweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czo2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjhweDtcclxuICAgIGJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMzMzMzMzM7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMzMzMzMzM7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDNweCAzcHggM3B4ICMzMzMzMzM7XHJcbn1cclxuXHJcbiNLSkVNZW51V2luZG93OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OlwiXCI7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHRvcDotMTBweDsgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXHJcbiAgICBsZWZ0OmF1dG87XHJcbiAgICBib3R0b206YXV0bzsgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXHJcbiAgICByaWdodDoxMHB4OyAvKiBjb250cm9scyBob3Jpem9udGFsIHBvc2l0aW9uICovXHJcbiAgICBib3JkZXItd2lkdGg6MCAxMHB4IDEwcHg7XHJcbiAgICBib3JkZXItc3R5bGU6c29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IzVENjBDNiB0cmFuc3BhcmVudDtcclxuICAgIC8qIHJlZHVjZSB0aGUgZGFtYWdlIGluIEZGMy4wICovXHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6MDtcclxufVxyXG5cclxuLyogY3JlYXRlcyB0aGUgc21hbGxlciAgdHJpYW5nbGUgKi9cclxuI0tKRU1lbnVXaW5kb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDpcIlwiO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB0b3A6LThweDsgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXHJcbiAgICBib3R0b206YXV0bzsgLyogdmFsdWUgPSAtIGJvcmRlci10b3Atd2lkdGggLSBib3JkZXItYm90dG9tLXdpZHRoICovXHJcbiAgICByaWdodDo5cHg7XHJcbiAgICBsZWZ0OmF1dG87IC8qIHZhbHVlID0gKDpiZWZvcmUgbGVmdCkgKyAoOmJlZm9yZSBib3JkZXItbGVmdCkgLSAoOmFmdGVyIGJvcmRlci1sZWZ0KSAqL1xyXG4gICAgYm9yZGVyLXdpZHRoOjAgMTFweCAxMXB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOnNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiNmZmYgdHJhbnNwYXJlbnQ7XHJcbiAgICAvKiByZWR1Y2UgdGhlIGRhbWFnZSBpbiBGRjMuMCAqL1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOjA7XHJcbn1cclxuXHJcbmlucHV0LktKRU1lbnVJbnB1dEl0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG59XHJcblxyXG5pbnB1dC5LSkVNZW51QnV0dG9uW3R5cGU9YnV0dG9uXSB7XHJcbiAgICBmb250OiBib2xkIDAuOWVtIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6I2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQ6IzMzMzMzMztcclxuICAgIHBhZGRpbmc6IDJweDtcclxuICAgIG1hcmdpbjogMnB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czo0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjRweDtcclxuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgIHdpZHRoOjYwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2O1xyXG4gICAgYm94LXNoYWRvdzpcclxuICAgICAgICAgICAgMCAxcHggM3B4IHJnYmEoMDAwLDAwMCwwMDAsMC41KSxcclxuICAgICAgICAgICAgaW5zZXQgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuNik7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6XHJcbiAgICAgICAgICAgIDAgMXB4IDNweCByZ2JhKDAwMCwwMDAsMDAwLDAuNSksXHJcbiAgICAgICAgICAgIGluc2V0IDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjYpO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OlxyXG4gICAgICAgICAgICAwIDFweCAzcHggcmdiYSgwMDAsMDAwLDAwMCwwLjUpLFxyXG4gICAgICAgICAgICBpbnNldCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcclxufVxyXG5cclxuaW5wdXQuS0pFTWVudUJ1dHRvblt0eXBlPWJ1dHRvbl06YWN0aXZlIHtcclxuICAgIHRvcDogMnB4O1xyXG4gICAgbGVmdDogMXB4O1xyXG59XHJcblxyXG5pbnB1dC5LSkVNZW51QnV0dG9uV2lkZVt0eXBlPWJ1dHRvbl0ge1xyXG4gICAgd2lkdGg6MjQ1cHg7XHJcbn1cclxuXHJcbmlucHV0LktKRU1lbnVJbnB1dFNhdmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDIzMnB4O1xyXG59XHJcblxyXG5kaXYuS0pFTWVudUxhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTgycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5kaXYuS0pFTWVudVNhdmVkUm93IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbmRpdi5LSkVNZW51U2VsZWN0ZWRSb3cge1xyXG4gICAgYmFja2dyb3VuZDogIzJhYjBlZDtcclxufVxyXG5cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXS5LSkVSYW5nZSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luOiAxM3B4IDAgMCAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10b29sdGlwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAuS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV0uS0pFUmFuZ2Uge1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBtYXJnaW46IC00cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDA7XHJcbiAgICBib3JkZXItc3R5bGU6IGRvdHRlZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpO1xyXG4gICAgaGVpZ2h0OjVweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgaGVpZ2h0OjE0cHg7XHJcbiAgICB3aWR0aDoxNHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwwLDIxMiwgMC42KTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggcmdiYSgwLDAsMjEyLCAwLjMpO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggcmdiYSgwLDAsMjEyLCAwLjMpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgcmdiYSgwLDAsMjEyLCAxKTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggcmdiYSgwLDAsMjEyLCAwLjYpO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggcmdiYSgwLDAsMjEyLCAwLjMpO1xyXG5cclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNrIHtcclxuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMCAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdHJhY2t7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGhlaWdodDoycHg7XHJcbiAgICB3aWR0aDoycHg7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgcmdiYSgwLDAsMjEyLCAwLjYpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsMCwyMTIsIDAuMyk7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCByZ2JhKDAsMCwyMTIsIDAuMyk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwwLDIxMiwgMSk7XHJcbiAgICAtbW94LWJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwwLDIxMiwgMC42KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwwLDIxMiwgMC42KTtcclxufVxyXG5cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2sge1xyXG4gICAgaGVpZ2h0OjMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDZweCAwO1xyXG59XHJcblxyXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMCAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLktKRUlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLWZpbGwtbG93ZXJ7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDA7XHJcbiAgICBib3JkZXItc3R5bGU6IGRvdHRlZDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG4uS0pFSW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtZmlsbC11cHBlcntcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1iIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBoZWlnaHQ6MnB4O1xyXG4gICAgd2lkdGg6MnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgcmdiYSgwLDAsMjEyLCAwLjYpO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgwLDAsMjEyLCAwLjMpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5LSkVJbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHJnYmEoMCwwLDIxMiwgMSk7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwwLDIxMiwgMC42KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IHJnYmEoMCwwLDIxMiwgMC42KTtcclxufVxyXG5cclxudGFibGUuS0pFSW5kZXhUYWJsZSB0cjpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxudGFibGUuS0pFSW5kZXhUYWJsZSB0ciBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG50YWJsZS5LSkVJbmRleFRhYmxlICB7XHJcbiAgICBwYWRkaW5nOjIwcHg7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxudGFibGUuS0pFSW5kZXhUYWJsZSB0aC5LSkVMYWJlbCBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDIwMHB4IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMTkwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG5cclxudGFibGUuS0pFSW5kZXhUYWJsZSB0aC5LSkVMYWJlbCB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG50YWJsZS5LSkVJbmRleFRhYmxlIHRyOmhvdmVyIGEge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbnRhYmxlLktKRVJlcG9ydFRhYmxlIHRyLktKRUZvb3RlclJvdyBhIHtcclxuICAgIGNvbG9yOmluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuXHJcbi8qIGluY3JlbWVudGVyICovXHJcbmRpdi5LSkVJbmNyZW1lbnRlciB7XHJcbn1cclxuXHJcbmRpdi5LSkVJbmNyZW1lbnRDb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAjMDA1M0EzO1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgd2lkdGg6IDI4cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcblxyXG59XHJcblxyXG4uS0pFSW5jcmVtZW50TWludXMsIC5LSkVJbmNyZW1lbnRQbHVzIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA1M0EzO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxufVxyXG4uS0pFSW5jcmVtZW50TWludXM6aG92ZXIsIC5LSkVJbmNyZW1lbnRQbHVzOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICM1RDYwQzY7XHJcbiAgICBib3JkZXItY29sb3I6ICM1RDYwQzY7XHJcbn1cclxuXHJcbi5LSkVJbmNyZW1lbnRQbHVzOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGNvbnRlbnQ6IFwiK1wiOyAvKiB1c2UgdGhlIGhleCB2YWx1ZSBoZXJlLi4uICovXHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uS0pFSW5jcmVtZW50TWludXM6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAycHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBjb250ZW50OiBcIi1cIjsgLyogdXNlIHRoZSBoZXggdmFsdWUgaGVyZS4uLiAqL1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbn1cclxuXHJcbmRpdi5LSkVJbmNyZW1lbnRDb250cm9sOmFjdGl2ZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6MnB4O1xyXG59XHJcblxyXG5cclxuLypQcm9vZmluZyBDU1MqL1xyXG5cclxuIiwiXG4jS0pFQWxsQ29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLktKRUZvbnRIZWFkaW5nIHtcbiAgICBjb2xvcjojMDAwMDAwO1xufVxuXG4uS0pFRXJyb3Ige1xuICAgIGNvbG9yOiNGRjAwMDA7XG59XG5cbi5LSkVUaXRsZSB7XG59XG5cbi5LSkVDYWxjdWxhdG9yVGFibGUge1xufVxuXG4uS0pFUmVwb3J0VGl0bGUge1xufVxuXG4uS0pFUmVwb3J0VGl0bGVCbG9jayB7XG59XG5cbi5LSkVXaWR0aENvbnN0cmFpbnQge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6MTVweDtcbn1cblxuLktKRVdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNjY2NjY2M7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46MDtcbn1cblxuYm9keSB7XG4gbWFyZ2luOiAwO1xufVxuXG5cbiNLSkVMb2dve1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS94LXBuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZVQUFBQlZDQUlBQUFDM2x6OE5BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBa1lrbEVRVlI0WHVWOGRYZ2MxOVcrSFllYkprMFRKMm5TdEtHdi9acjJhd3B1R2tQQU1jbk1IRE9qSk51eVpMRmtNVE9EUlJaYnpFd1dnOFd3b3BXV3RMd3I3WXJ6ZTJkbnRWcEpLMWwyblA3KzZEejMwVE03TzNQbnZ1Y2VlTSs1ZDdYa3gvL3VZOGwvTi93Zi82UDRlWU9DTGphMW44ZUEwS2xDMW9PMmt0UzJoeml2WjNUb1pucGVUbllZbXhobmkzbVVnWjdSOGRIL3pNVDhSL0diNVFhODdiaHZoZC9Ga2JGUm94eS9KWlpxYjlydllRclpKam4rT0YvcGZ4bVliUXREMzNMWSt5Ky9TeUtwZUhSOHJMSzNnU2tjK1BsazhUUGlsNDRONTNSVUdCVUcyNVJHdGczMFRFNU9sdlkxL2NKdTU0dlcyNUxhU2xhSDNBQm1OSXZpc1BYaE9qalJ5dldkL0hIeVVKd0ZlZDJxTUxTSFIvdkErZEFMMXRzS09pcCtKaEU4WS93VGt4UEFpYkVLSktJOUVmb2tFclJYN0hZRlBjcUFWbjhicElHUFcwSzEzblBjdjhSeU04NC9jVG42TzVmRE9NbHFLeFZLeFY5NG55VWYrWjNyMGNpbS9DVld1R2N6VGNCUzRFZi9kT0VBTE9XWlNPUlo0cTlsVXM0bTJjR1lNYktyS1k3QXNOejU0SlVVeDcvNVg4YjViMXdPZC9Ib3ZqVXBTd0diUUtYMlY1L3pienZzSmRHK2JyK0hOY2pyRXc2OGJyY0xIMSt3M2txSXdPMEg0cS9MNGRHSk1RWGFYaDc5STdjZnppWFpNVVNjbnk2Q1o0T2ZJUnpReXZSNDAzRWZobnNpMFVZOFBQaXU4MEdBOUtwSmhrcGpvQy9aYk1OWEVmWFowSXZsc3R2UTd1VDZYMDl6SWM4M2hHcEJPN0xheXdobHNkMmhtZTZxMEozdDRicFFLd1ZVelF4MzhxdWc2aVJjSEI0YitTbFMrS240aDBhbHRnOGpQbkE5c3RSU2JablY1Z3ZKRG5RaG15UG0vb3FZMk0yK3RTbmtFTit3MzAzaXg4ZUxxVTQ0aHhZVTlkVEJMeXlUVGJWcC9qMThaVmNTanZNVnZoZFpJdmI3VGdkSm5McDUvaTNNcmhGWlJPaGc5NzRtNndydFdycXJlSGpvQzk4TGVybitJdW5nMDBuaDZmR1BUMHp3aG9SQk5ha1l5a3MyMjUrMzNncElSbmtCNURpK0Q3dU42eCs0SHJVdUROMGRiVXpxZndlM240aDJ0RGExVUMyTlpFZm93dmpFZUZoZGhrOWRXcWZzcTVqR3ZCMFJlbGV6UE9CRnZDb1RTSngzczd6aE1yKzdwOTdKbzUxSnNGYm94ZG9nVFRKd0lGNDBNaW1rMzNuUzR5bnhqNHlOV0JhR0dCV0dDS1NpVTRrMktlMmw1NUx0b1FMdnVCeHE1MUF4aUNwNjJ3ZHVSeFZqaGM2SDFHY3RjbkFURTRTMmk0YUhMQXFDdDhlWTNFaDNXMnE5NVhQdnMxbnRwZENqNTZ3MmI0dlFRODlRTVlSUG5NQWloa2VIZFhMOUNydHFGdmtLeFcxUGlUK29PdmxGNjYwN0kvUmdtWmhEZE5jbllKS0dmU1hWQ2FxQks1aFM4NExnNDBtMmVqbCt6YXl1cDVzZlFoQlNjVUZQWFVKVC9xVmtlL1QvcWNlSmFub2JOSTRVN3R0T0J5aWNQdGVLdU9kdHRpMTMzQjlRblV5T1o1SEhFK05INEFIbTVOWVN2UHRQN2llVTQ1QjFVU2d1dm1HM3U2cXZlWUhYUXhBVEUrT1NFUW1kUjJ2dGIybm9yUzlxS2E3b3FLenJybXZ0YngwUURvRDJBQU1jNTZ4T0dDTDJyV3p2c0laczNwRGd6NTZuU2Z4YU9UNlo3V1drSWtBMVhyRFpkaVBEWFRJNi9PenhZMEMxOVBiUHZjNXNDdFdDOHIrQlFHVzFXU0FWSzk0RWIvUVB2MHRua3V6NmhkUGhtdndXSWhzYUZ2Y01VRXBiODZKTGdsMlRiWXdqZE8rRWFtbmVVNy9rZS9tVTU3bkRyaWQzT3gzYmJIL29PK3Y5NjIwUEgvRytwcGZnSEYyUjBzM3BIeHVmRG43eTNpWW10a2NiRVNiZ3VLK3dxeHBlQnVjdjIyejNLSXY1U0hhKytiNE9Cck1ZRVR6Qi9ITUdlWEJPOEhNS3E4Wko3a3hteGhaemxXTVZSaUFkSGFKeE9pdmJjNUxLUSs0WGVBUm1PN21uV3RzbjNEV1BOakM0cjYwVmZPT2EvN1d6M2hlT3VaL1o3M0o4bThPUjliWUgxbGp1WFdHKzY0K20yMzVudEdXNzEzWEJrQkRtRGFWUTdybUoxWFV5M3NvMHgyOWx3RlVNQTdSeW1kV1dmd1JjQ2ExT1hoRjRkVStzS1doQ0Z1WHhySEd4K0hrU1VYaGRCZ0o3WVcvOTlReTN6OXlPa2V4dFRlQjF6aUJmcGFRbHcwTHFRSE10SmFlNE1UNjdOaUs1SWppMnhEY3MzOTAzMDk0bDJkSW16c1FrVWxkSHBnSVhmQytkOUR4M3lQWGtUc2VqRyswT2ZtTzE3MHZ6WFgrK3UrTWo0NjMybWZLQUFxZVkwVkNVMmxpa1NJMWtzU09kcEZMSFlzMHNTOElSSmo1MVA1NU5xZXpqTTc0TXVQS08wNEdTN3JxRnRXQlIrQkdOVGlmYWZIVlBuU1FiTUdDK1ZPUlRtZkNLelhiNC9KdHBMclBlTVRvdUhSQjBVdWpsemIyRjlWMDVsVzFwUlkxeFdUWGhpV1gzb29xODcrVTRlNmJaT0NTWW1VVWI2Ti9Ydmhta2VjWHZ5bVcvYTdyM0RXeVNuRHh6QXQxemc1eXpBNjB6ZkRVaUxUcFlQV1RudzZNam03dzBYdEpadjhibFVtRjdGWGtSM3Nlak1oNldDTDU0THRFMnVqNzdoMWd6QkE0STYxYTZHK1R5aWZ1eERqWVJqK1k3Rm9WL1FNeUZhd0VoNmVIUmxUdHlMb2tFYjJNcDhkQ0p5WEd4bE1YaXQ5QTVqWDBEdFYyTWlsWnFNVVJRMFpwU1VCK1RYaFVXOTlBL2RFb0ZuSk9zN2hmZUsyc3ZaZkRvczZ4bTduQzVZdjZwWU1QZm11NTVVZnY3NTdXK08zcFBuOExxSlgxa2NYZnR4eDRuZ0haZDJPMUJtZGxqaHVLYkN4RTFjZkZ6bjNOZzFrK1BIOUVGN3ZRdjhMZFdtNE1hc3FrOE90d3ZHV01RNTZTalVrWFhvMk1TNFNDVkwrNUc0NGs2Qi9pdE5IWTlSQUF0cUtWa2xqUWx3QXFnQXBGRjNuRmxJWFhkbFNLSlFPV3dZTzJEMGtHVllVdzRKTXBvTHIwUWJ2R1orY0hmR3U4S0swOGxBMUFIaDdvdTVLWnhZVERPa1Z3N1ZUeUFPeVNkSXY3Q2JRMk9xSGFIajVuL09scmIvN2lmT0ozaWNEREdGQjI5YUxQdHQwNEgvK1IxZW1Xd3BtOVZvaUtrWXg2R2hybUFMWmIwRHcwekpjT3NRUWxOSU82R0lrQUxPbWlsOVYyNVVJRzhSOUc1ang1ME1wcUhsYVJHaW1Ca2JMaXByeW1zT053NDF1cHlrUFp4WC9Vcm9RWjBXYVZFNWNFV2NlTnFjM2I2M3RhS2N4WktpQmlFM0JISWgwYWtPbG1laUlJWTdRci95MGt0UlgvMk92TUhyOU85TW40NTkxZ0lQK0RCMWNIUExiWGEvQXRaV3Fab1gvaWM2K016eWU2ZzgzeHhQMGZZTGhxaVNrZllvMlBDc1hIUjhDZ1hJdUNLS0hST0ExU2dxU2UvcWoyOWhWb2huVE1QbU9lS2puTHpXUE96M2hmbEx0RDI0TmRXZTAvNGFTcU1vcFZPYWFVUmFlV3NBNEJyZXB1aXkxSlFXU0svQ3ExTFh5WlQrM1hoT2pSWjRhU1oyVW1TNjRuSjRaR3gyU25qdlBnQm5pWG1JcThBd1hoWkprNjBiME51WnJRVWUxUW5OZy9JM2RMNHhDaUQxMDdqMUhPRkZBQWVHZVBqTlpPVG94Q0JaSmdKaldCeW03cVpsUzNVNGdGKzcxd0tLQmprKzJkN3dRVmU5cnQ4eW9zTUFUL0lRc0RlMEpKWUJkcGpJWWEvTnRycVhoQTVsd3ZnSG5RcmtvakpyNFpHSk1makxDNGwyYzJpUUdQakF1cUFXenZ0Qms2VWhUZ3YvaDR1N1YybkF5Y1RiUnBZbldDN3NueU80SGFSanpJVno0OVBqSFV6NnlqME11RG5DRHNJL0tPOGlRa0o0UmJHaEVOU0JsL2N4ZUEyOVRDcitXSVZtc3dSc2QxVEhmVHVhOSs0cHpFTC8xcnIvY3dwL2VLSXVPK2JiSC9oenJxWGREZFlaOTZiejFQaU9ySVNqRTA2T2p6TGR3eVBNdnZaZ1IwMGcyYnFXUVl2YkhKeWJHUk16dERteGU5UWRKK2NjeUEvazJ6dlVoNExzNGNMTkM4TUlmRURmQWV0QnI2OXZmOWgzMEFkdkoxd3NBZHpEaEdnU1VjR1JFTjlFQXFOMHlBY2tsdUtzdURoQXNJTEF4RUM5Y0p1M3dqU0FBc0VCVGpvZW1JSEtJRHR3YXZCZHhRM0I1WEd2NmEzNGZrNzY1YnFmUCtTenJyd2lsU1Zsb3lMY1A0aXlheEVlRkk2U21QeEUvc0dmTG9ZbHQxTUs3WXd0WXRwMU5DemMyU01HTlc4K0pIYk9wWkVmQ3lyd0tEOTJuSGYzZ2k5bSttdUVwbnJBb1h2b05VK2JFNkVZMitoRm5VenEyRG5RQXNSd0FWQ0VlQUxlQ0lLbEo4blVxSDI2S0dzclJBczBEUktUMWRHZ1M3NlhqcmhjZmFneTRudERrYzIyQjZNcTVLRHhLenU5Tkg4aGQ2R1pUTDhTMit2ZmRka0o1Mm5RcUNFcWRNN0w5dzNIeDFUMUk0bmgwY1ovTUV5bGlDVnpvM2dpdklHQk1sdC9acDFYUnVxT3I2Z2MvMVY0NGM1ZGJLcHNRMDVON0s4dnZTN1JQSTh0TGNjOXpXeXVralo5N0VwbVRYaEJmV3hGVzJwRFYyNTdmMGx2YXhxaUdCQTBBb3BvTEVGYmRCOE9xY1pEbUx1ZElra1F2OXNWNXNIQkFYVURybWxIbmo5dk0vRjR4NW45anNURkhpSDAvRUJJWnQ4cXJHLzdTUFRuYS9xcmlmd2EzKy9WT3U3SlZyZnFzZll6YzJPY0xONWVzQnpHbXZjQ3FKa2ptWnlkSncvT053cEdLb1ZETldJSkExMGJuZ1h3NksxVDcyaFoyOXQxOWRkVEdNWWdvcjVyNkcxL2txV1RzbWIxV1prVjU5Nm5qUW9DQUlSeEdzRWc3ekU4cENrOGlERTg1TG1oT3FPak1idVBJaWdtMUZKSGFqdFp6OUMySWRGOURDcmhFT3pFeUVTVlJPMTFpbkozRExHMERCY1I1WUNYRVVLOElQNzZiM094N2JZSHphTXRWTDRPZHZNZ0YvcGIzeEZkLzF6T3RQNGx4dHVBL21aSzlZdnpBNHR1Yjd5VjdjM1ZQYzJBeHRjSGVaZk9rb1hTUnBaZ2hRYUo3aUg2ZGhKTjZXeTNUa2lGR01KVWpRYlB5UkhNa2V5dmUxOHdMazh0cEZCSVhtVlRQTW5NMnJpUU9OalMveFNLMFB5NnFKZ0JSQUJ0QUE4Qjc2QVFpdWwwTXB3MGttdlZEbjU2Q0c5SnNFdTN0UXNTcDgwZmppLzAxN25qN2llMnUzMHcyYjd3MWtOZWVTN3hOTEJqZTRYMzlEZitKSWMvOW9sbVA5YjN5NjU5WTFORmtGMWxJODJldWNTOVZYQWo3YldHVXNNSTRoRW8rT0NJVUlGYXRqQ0hDWS9rU1BNNG9yeSs5amVqYjFIR0x4UVZmaC9uT3ptMFF4eS9ONXhrRmNwZitkKzNLSWtIRVVJOG1VVVJxdG5taTA0ZkVTaFYzeHBRRnBWYUc1ZFZFbFRmR1ZiS253QjNHRkRkeTRhVHZyWnJYT25DRmZHeGtmRDhuMnRZbzJRQXV0QStRT3VYL0NSR3orYzMyR1BDOHlwYXZkRFNzMXZqYmY4VW0vRGkxUEdEK1VIK0NVM3YvN0s0ZXlnZEFhbE0wOFBKTUdUTGFveUhTb0FFNUNNVU1YU1ZqUklnY21QNzJFNnRkTjBtbnBQZE5CdVFrQ3o1eitnTnMyNTRnSHlKeXFmY1RQZDdaY3kyb1BDRGdxU0dEcVlxWCtXbTNPU2hYZTZYVkN1UzJTaE4wUUFMY2l1aVNoc2lJVVV5bHFTeTF0VHlNWWZWSzM4bzJNamZwbXVkekg1VThuUG1TbmwzMnAveER6QmdhUUorSHNuM3VsdGcwMXdmcVR6aC9OVDRIOUphMjFkZjd0Q3ZuamdTOXRUeXZqL2JIWlFNakkwUGlHQkNLU2ovZkFDYkdFMm5SdEZIZkRzWkZoME1TMVpncGlKeVpFWitNRVpWaEFPVHcyWnc3cmdteWdxWmJTWG5rK3dzU3NPSjk5VTBWNktpR1ViWjRJRTFpZURFRUZFb2VlRGgzNWc5WkFDTXJ5Y3VraFlCSGh1L3FNWXpMUEsrVWNDNjV2cEJzdS9IWHlUblB5VG5tZFIvMER5dThYK1NHRnJLZmtVUjh6N3AvV2hHY1ovbTNCKzVQd3Z1YkhHUG5QYUJCcjdPMTdYV3FlTWY1bjZhdi9pQndvVmdBdmdENWJ6eENXQ3dTcWNzUGh4a3BIdTJmb3ZsQTRlaWJQNHZldFJFRjdTL2tGN0QwWWJrN1VVcERvdUtZNEc0VG9vWGNCNklRSm9BZW9aWWZrZXlHb2hoWVRTUURoRjVQbkpGVUU1ZFRFcXdlTWlRbHA0VWJCTzZDM05leHFYWkpaLzFJM3dmRnNkamh6eHVvUnFCL2xnVW0zMk93YWJDT1hYeGVURCtjbU1uOFIvNCtzbG1tdTJlSVBNeVV0RDl0bWh5dURKODMvYm5SNGFSaDRsR1IzandoRU9EVlA0Z3hVTVhtd3Z5NTFDTjBFc1ZHWC9rNU9nelhGTitidGpUZCtVY2I2dGtmcGpzdVVYRk9wdUJkOUF1REtLdUVOcUFRekJJOVhhTDlNaEtNY2xOTTh0dk1BVHVSMWtnWlpkRnpjZmZsd3ZiU3U1ZVUvekt1SDJMeDUzUDRPd2o4bFhzenRrayt5bWVPcGtrTzZ2RFRhcVZINFMvN3Q2V3dTeXpBZWxvVFZPRitmaWYvbkd0L250MVJPVG80UVhIT2tWU3VxNTRpSW1Qd0ZjRUZiQUVSSDE2Tm4yMzhudTlheE9jcWlNYjZTMzAwV2NzRWVaV1pSSzBocjljd05RcUFCWGhRaWd2VEJnNndmR0tHTkFFVHhTYldBTy9sbU9VQWU0UnJUVXFxZ0Y4UE1IZVFZUitvajVwT2FqOG9ld3Q5NzJZQVdsbW55S0xXUi9aTEx0ZGIwTkwwOTVmakx5SzVRZitKZG9ycTdwYVNJbWhrWjUvZmI2dWZoeDVXS0VOYWphK01UZ0NLRUNUR2pCeU5nQWNoTXc5TWxKSW5HZWdUKzk3U0ZSMVpScFBzcHA1bm1CWkNVYkIzK1FmejFRRTFFYUlnQmRnK25DZTRHOXdCWWdCVEE1cDBSekNNSXR4Y290MVJvdE5OOTdBZno0S3E4eDk0elhoU051cDZENTREemdmUHZjemlsNHUwOWg1RnNHRzErZDdmbW1sUi9nMGR6endzSDIzZk1pVklMSHhiK1lIZVJQcFlZcXh6T05IMXIwZTNkVTlkUStkRDM2Qjg5VEtQaThacmV6cksrUmZLeTZxd1lUQllvR0VWenl1d0xHZGl0SUV3VmN1QU5Jd1N4YUgyUUdnb0JSMk1hWjJzV1pPaVZhd004dklBTEVaK2RVTnhBK0VONU5kZ2UvdGQ3bmt1bEwzZzhwcUxsZmd1VlBoWDE0ZmhXVHYwUmo5WWRHTzc5eE9QK2UzdFo1OEgvMWdzYnFHbXFMWWhnY01Vc2c0Vks1blZuTjhTTmpCSkdmeGwvVzh3aHovcG5uU1JUTWVJUDhqYUZha0lWcmFUVDVjRUJCNkI2blk4aFBJWUl6WHVkQjEyRzlHb0hxWUcrSTRhQXhzQWpqaUR1UWhXbWtIbGk5YVpSK0oxTkZ4cTRzRWJnNjdYQ2pUWGFIa08ydHNkcmIyQ2NmYUUxdjR3Y20yMVJQUGp5L1RQT0pwckdLSUR4VG5FZVZDTDVhY3Ywcmo3d0l4VXREeWp4U0gwVjRGbG83WkJ0d3hVUjRuc2J2VkI1TFpQakJOK3I2bXFGVU43Tzg4TkZHbHUzQlk5KzZid2ovREg1MndPVUVpQ29xOW5CZEYzMHZrMUpBQWc5QmFJZmNoRmVIVXFEaEpLcEVIalVYMEFLZW1IY2xTR2UxNWQ1RFhsY2tJL0pTbW1tS3A3TGJWMm41bVB4RjRqOFZkbGRSZDBodWlMb2RmKzVTMUNIOXhNdE1JVkVVbWNaL0x0NktpUHlXYXM5YmJYbkpiaWNxNnZnWTFaU1BteEJtdGpzZTMyQjdBRjRLam5xZjgzSENGdHpQeUtSd0FRRWMyU3NFY1QzZ0d1eENROVp3Y2lkTWg4R2Z0NENsRUFwSXJtNk1sVTllR0hrRlNySEM4WlRjN1Uxem50bVd2MGp3bVArVk5pZFJKaUk3WjR1Wk9jM3hkQUcxbTkwbUdTRXk1V244VnZuMy9uM3Yrb2N1UjE2ekpaQ2pZU3NDY2lIY3hCS3l2N0xZamJMOE9wc0RpRkt3MkYyT1VBUkNDdEFGNUswbzNjQW9vQkZ3NllwMnp2dWliNDcvWWxialFDdkZza2lHSTZPcDVIWDlqZkpzVnpubXl6aVBYUGtYUGZuQS80SHVaaFFGeWM2cmVrc01rcS9xSlY2MnlkSVZTdWJrUDhUV0VnR3JpdFlhMFpDam4rMkRsU3lzNStDeHVwNkd2NXZ0L0xmRmJxek1ZSDBLdmhwWkNpa0Y2QUtpTndSeDFPM1VNZmZUVUFxaWVSQi84ZkdrNS9tQzVxSUY5SC9XVjZqYm53ODNrN0ZkZ3ZETTFQd25zbnp3SDhMNDBWN1EvQm9yQXVTTHN0dVN2WXBzREpPdmVSVmFjd2VKNnVCajZyK2s1ZVEzbFdBMTZxOTNkL3pMZk5kS2l6MVFoTFUyTWluWUhZWlRnRVZBRVBDT2tBWDhPWmF4eUlhUHVIamM2MklMclcyUklrRHA0azZpNjh1Nkd3andjcDgvcGZsUE5mbWtDRVJUbVZJcnErRmVtVnZpby9DTXBnY2lLVkVJbE9OSGhpQWNxcFdPOUNGbkJtZVdjWVBwNWRmNHFuUXN4WDFtc3UzenU5di9acllEaXJES2NnOUt0TjlaRXhZQlFjQW80QnEyRXUwSWdqbFVBMy94RVJmeDFTR1A4OTFUOWRMSENnTDJrbGlmLzVuNUFZTHR6Q0U4aTNONzA1TlA0bGNVQ3hyNnE2SnJnOXp5emNNcXZKc1p4TktZSEQ5MXdCbTFRUXJkbU1yeVlIQmp1T0ppc2JSdGVJd0Y1alQ1NDBSc1pkcTdCcHMrTU5yOHNmSFdQMHhKQWJvQXA3QmFKZ2hFYjlqRjl6YjdJUTVGdzBjRU5uejF0ZFcrM2E1bnE3cnFGcjhGZ0NWZ0h3clNmeEVKSDJIMlQ2bjVDaE5BYVlDVWUzbFBvVVdHdGs3Q2VZdDByVFlXUVcybThMTmRtcWluT21qNnZTeFhsTXFRS2lKYkhocnVRc0VjL0RtbU1oVkZDQkN5M3hpcWZXaTBSUzRGMCszL2QzZkhQOHgyUWhEUUNNaGlwZVVlNkFVa2dvWVRmTVJGTk56d1Q3T2QzOWtkVGFqTldvdzdKTWVLb09OZEhQdU93YllaQWYveE1YLzI1Q3ZyUDJXZ09hVFVMYkxTSjc0MlpJYjlpeVNQMk1JME5zb2o0bUtraDROU2hJZGVHVlVXd2h5eUdncFJnVUlSRnRub2NvTk5rTUp2alRiLzNwaXdpRCtZYnZ1VDZmYS8zQ1ZrOGNYZEhYODNJeVJDTmxnS1hNWmY3dTc0M0hUN0gwMjM0K2IvTmR0bG51STVOQ3g1ckJXUU4wQmZxbnNhdjdBK0ptTTdpd240S3NBdjAxZzk3ZithRTR5U3Ira21YYkhMTWVRUEVXc2hTMGJIc1V5NXVyNUhyYVVQK20rQSthZHh3Z1lFR1VnVkI2WHR5Qm1RUDFaUWFoR1FVSUVucFVEcXdydUdhdTlQQ1FJTDFaOFlid1hDLzVuWlBqWFpCbVdCcEtBMUh4aHVmczlRN1IxRE5kUnp1d2NXV3BPZEpSMldrS1BtcWJFVStCL0Q5bFNBeCtTL3E3TUppeUprbnl3aHJhQXQxYWZZbGlIc0p6VVIrRG5WbEJYVmxIODE5T3hyNjcvUnhiQkJlc2ppSi9NR3l3YUhnUjh1WUlncEdDQnFyenJybnB1U0F0SlNKR2R2Nm05RWlvb3NIYklBTm9nRElCVU5INkVwK0FvM1FGNjRHWS9nd1ZmMTFuOTRkMWRJZVRLV3RCZXBDQ0F3RjBMTmxtbXNtUy9QbWJvdWoza0t5OGZKbDFiSHlIVVJIRDVGdHRxSkYwQUJQUXVzc09KSTRJZUhhK3pkOTZoYnJZMTJqVHJneXVMSDg4UkZpQVVvbUEyTmRNTUZqazFnWFhIa1BjTnRSRXdpcGFDekRpRWF5UW5VQVhqQVZkSGVrSWxqVm9POUFETytKV0hqRVNnUmhFaXNaTnhaZnpIQ1F1VjZsa3FoZ01NUUlsQmZQYjhJVklBSC91UEJxSFBMWTFuZ1F5ZmZFb2NXUmgxM2tFVlcwT0gvc0VKQzVROFc5WFA5K2ptK3FJMmlUc3pnUGVDS0NvV1NCaFFQNFFMR0prYS9jVDZQOGd0aThwUVVwZ1VCU0NqUmtPSjRSVzg5Y0pJTkgwRmpDY3k2aEx4Z1FVUU5HNVFXUWlUQys5cmQvdHFMZDRjWUs5WjVON2hmZjFMOERsbnlCYXZoTVdrSkpkc3FVMGM5OW5oMlN3SXBaYm4vWndzVDZybzNObFBQb3pDRUVFam5ScU5VZ3ZrZkdXTmovdUVDdFJKYzVRR1psTUp0NkFLcERtUWpHQnNtZG5hVFhaZTFLZGh5WWtQa3M5SFY4cVhFYmxhdmRJcWlMbXdSM1FOOTc5NVJteS9WVTFaNytibjZxdkllZVFvL0lLTHJKMTI5Rm4wMHFlNStEMGVlbThyeFM0WTc2M3QydHZaZG9RNjRZNTFJS0hra2tqU2hZRFFWQWtmU0c0dUoyZ3ZSWkxSRTFzQlBuN3U5OXBkNktORnVrczhxSVJSVmpSQVpNTXZTZUZuN3pHei9nSWdnMTFDQmZmNDYzemxmN09Lb1hxS2ZKUkdmb3RnNStGVnJQa1R3djZiN09HSSsyVVBuUUV0WWxhL21nMU9hc1NmN2VQS0ZMRGwrRUQ3K1lDR1d5cGo4Mkg1MkFCRUNoSm1Db1dyb1Avdy9iSVFwNUx4bnVKMWdJM0lweUFYeGxzSFdzbzVxRUtUWDdtd2s0TWx3RWxEbGFLY0JUL001V1E5WG8rMUlzK3poMEZESlE1RC8xR3gvUlZmOVl6MGlWbUwrYUxwUFNRVHpnZ2YreXhGV2lnNmpxd05qYTRPTHUzTHEraXZJNUc5YS84a1BQREVXY0c1M00rMXBuQkN3QUpBZnNraEd6dExoSUVPQ2lxRkJDbE9DMk9ldmpXLzdPTFRmR085VXpPMk1FOWx5elhTVFBmdks3ZThMMnVXbFByL2lCMVAxak5VZkcrOHU2eVJvNmNLSFRvTGJBZzVmWVFVdmFxN0phaWxUZEpYVmt1aVNiNGI2ajNMbk0vSWZrUDh1aGhsQ0FOYk1GTWdWZHlmV0Z5eTcrUTNCeHBDS1RBbUNYSTJHZEw2d096RURwekptc21KUE1sbWlyVmxoZDVLc2RzRC9iL0ZRbHhkendPMDBWbjFzdEx0T3FXS2xVaERGSGJVeS9Bdk5QTDc5dTlVUENxNkZhb2QxNXAzTFVZZDFFaTRVVTZaM0lzL08vN0Frb3NoOFVDZDRVQnVrQ0I3WUMvSjMyNVB5dVNLS1VHdGUwMTRuR0JLUlF6eCt6MkFLbmdMbk5PQ3AxSjE0YXFubUd1dk1JUElwS3BlK0RIS1JJWmZURy9WVi8yZjVBM2ZCb2lXVnkxaXV2V0ZoL0V2VlZ6b3BWYjZTNnlQOGl1eFlJcHBnaU1zZmtpOHV6OVovaGJDeGRBTVBHVnJocFIxL2pxMjBkUU03VUo0anNoRlorVTF6TmZ3V3VTS013Nk1vWnFrOFJTV3JGQ29iOGRUck9oczZwM2IxT2VUZVYwYXVLT2JkaVhkZHdBU1FIWDFpc0dOaC9COGE3VkxNRGJacVZQVVVtYVJxWG84NUZsZEhMSHNxRHRYNWYwTi9wVlhtbmJTbTJMQUtyNGVkT1lxNytVUENQMWtjbGswWFFjanZLMjNGcU94ODlPS3Q3eFNpbWZkRVkvVm1EM1ZGaDhTaUhjbHFaNVl4c1ppRkhWN3ppV0F4K04wTHBoY2dhcWxsR3JISDFXT09oNVo3dGpBZVBSNC91Q0Z2a0ozVmttQ1VvcDdXR0t1Y3QwWlhaeEZqMVZpMS9JNWFuOUkrREZqeSt3Z1FVNm94bGJHUWVZc3NkWmxxa1JWcDVBaWErdHBmdnZuZGZIekdxL2pCZlBocGZOYjd1cHNYbVArL1dmMmdxS2FpazZFUmNXbFhybU9Pa1YyMkFWalE0L0hqRHI4U0Ivc2NRenhRMlZQVXk1MnVaS01Xdk1WVEV5TFk0NmN6aTcyZERiMnJqSE5hc1pWc0cxSlQ3TXkybUxsaVBVc1FKd0wxNThQZnd1eDVIaktkeC8rOWV2UGJ3amI1QmxuMGtGQWZqb0tmUzk3ZHNFcnZPbXJack8xVDg5YS9oa2NsdGRUU1czRm5MRE8wczFzU3hWTDVzaVI2UkRubEEvM3R5c3BQRGpTcnNXUmFtUlZhUGZQa1lpUVdwQWlYZ1pvbi9QTUMrY3dtNTB2ejRROSttREFmK0dYcXF3eVRQSlZCZHJGYjlaT3VtS1pxUmxZSENHUTF6MFhOUCtZMnB1WmVYbHN5dktCZTBwWFFDay9sM1o2cGpjVzkzQmw3Z2RFcG1Na25ocnNXZ1BTOHhwcVNqbHJ5OWVWZDlhL2RYTHZBelZ0ZHI2ckVEMnpIRUd2bW1md043dGZJN2FES1J3T3RDbUdQSVZDUmRDOVUvOFRXZlppQWRhYU9YNG05ZDVFTlJ6eTk2d3F5bUZ2TXdoV2RSUGNGSVAzVDVnU3EvZVRJZE9JVkhHWjYwNGJ5czVmdW02dkVqNjJlYjg4VC9ENDNPOURObmliUnZWeEtTa00wMWorUjZyWFE2OGlDOTJMbm43eXZzQ01qcE55anVDTnpkSHdFbmdOL0ZjK3JGRUUzaDdhYzhFeXFJVm1ueVRmekl6SjlZWGwwd1dUK3E0Q0hpU3J4STU5VE9mbkx0VGMySysyUlJjeHpMN0NNcXZLenk5YlBiU1dXK2xVZWo2bC9BM0FUdlFZcVIrUDNXbWZxM3EvMFVmWjVFTUhjQk5ZbzFlODVWV3R5YjJKOERIbldBZktMc3RRQ21TeUs5Z3llaXUwemRQN0ErN3BiNXVML1VIOWJWYmM4endOT0RCamtMYUxLRjludS9YSXZ0M3l6cDhSUFB0WkVxelpJdm1hZmJRQXZncFVqNWI3d0pnVUZJcStEdXEwQVRaeWpBdHM5TlVsaFFXb1hJcXdYem1HUEJ1ak5IVEZXQjRnUU04ZnlQNzk3b0x4ek9xcWpmemhzUkc2M0FuT3hWSUJBaGdYZm40UWZGTWcyUzg4dVM4Kzl3Q0s0ekUwazVTdDNOM2NyWW5sbi9YdDNabGdCWmp1MG5QZ3RLQTd3NkkrTVpybkpHVXoramR2cm1taVVXU01HS3RlQ3FCYzF2NTZGZjVYaitUWkd0L0xOV05qQWJNVlVCMnJHbnZBc3RFTE5iejd3dVA0WS9TZWZ4QTczMU1ab3IwSXIrMnhEQ01JaHh4Q01ZbGFuc3d3aDdsRWVkRmd4eWN2MXQrRUhIT1FqbVNnbHpKKzlMTk5ZNVpJYlBzdTVRc1JCNWFtdjNrSzhVSktVK3NvTG9YZjVVd2tJb1ZuNGhScTFGTm9lVXgyQStYZk5OMnRqMWk5Y1lsb1VmblNOakFBclp6QW51Sk95cnJ6aWpneVVVMmFKUUdZTDB6OVVMbXFyL0hocW5xK0dUK2ZoSjRLTjU0dGVyOXo0eG56T0RtOXN6SEF1aUhvZUNjVVUrS1hYVjM1cXNpZStObGRaVEhnMWxuZU5VcTdYOUpRQWZFVjNBVFk1S0R0c2xWcXdXUHg0R0F0R0R0bUdDQ1RWUGNXNmlaZVFUc0t1NXU1R1Yvd0xBRHpTeWU0N0hYcjNqZHZyeXlqeXJCNmw2TGQwTnFyRS82bkozZ2ZWMmVTUFh4VUhLRGJLbmtzSmh5cWYrVGQxTnR4ODRFVG56L0NPbytQREtRMVJrWlcrSnFrYUlLemdMTGx0Y25OYlFQa1hxLytLTHJyWWJhZ2NwalpFbWFkclZmWVVCcFE0eHRRRWtSdEpsQTlNQzJDUW9zSGZCdnEwbUdLcXM1NVRuNUc2UDYvNTlRcWJFMVlaZ2ZEdHlwMWdEOGE5aHdsL3ZMdGZnZnlYdDllZHUyK0IzVTV6SVNYWFIyb25uSSt0Q2FydnIzVElNZkl1c2gwY2xpZm16eEkvK29JN3dmcXhVZkoxMENIdllsdEVCS3lscW53SDRvTGkxOEdLRytxcHJVN1pJYVlwUG1oVzZRSFJGV210ekI3eHpKMnM0SkdocGNuL3RENkczVHNrZVBoTGsyVHZkbGJ2TE8xQXQ4QlozcFVQWThSNGpGTTFVT0dGTGlENEx3eGI4ZTBUNkwvaUdSQWgxTTlTRzJPY2NvMVJHb2VEd1Z1cHZFNlZlOUx4Rkc0Z1hjTUM2NTlZWXVBT0NkUHFDL0hicmwvZlVYdEJjODNyV3QvLzFlTHdyUWRPQmEwVmNBSHo0ZWxrdDJJL0M3eHlONmNkTVI5cXYvaFYxaWZXZjhVZ0FPWmhaeTY1aE5qT2F0Ukx1bXlSb1lVYUE3bW9NdCtCSEJtREd4c2ZWL2hrS3J1L3FMWEN0eVJlSThydVc1ZkxhbTdYTG9TWU91U0VKdFVYOWlveDJia2REbzlKQ3RyU01CT0lSUEJFeHNuWGthVDA4Ym9YT2UwL2FmNlYzNEVSSUNLWXBtcmt0aVk5Nml2SDZncGJ4SURpUCtrNEZuOC80ZWRGak9qcUFLZGNFeEJicUxyL1F5ZWthbGpQZklyM1BvMytLNDhWWlpLaytuQXNKL1h6dXpFZ0RFcy82WEkvcjV2S1ZlR2xGZzl5N3AxRURhdTNKSzh0eGJ2SW1zN3Z0Y25Velc5TndaejdGdHNIbGJveUJIMVAxL2xQeFkrM2t2WlcxMWRtbmFWN3I4ejFYTVMrd0ZJWGtBV3NOOFEvQ2tNRUJuMTZ1c0dSVDRIUGdYMDg2cXZBcHFYcTNvZlJOWUdZN1dKS3BuK3BVMFp6SE14dzhkNXU3akNlQVg2eVUzQUI2TDlwNmczUEFzdUxrUWZnazdIVENnNVpQQ3hFQm9scWFqKy9CekJrem5raGNVQ2FjT253STNnUXN3MDdCNDFEejhoQndlVGhkN0dIeFREbE9tU2RWQjh4bjhkZHZMaWZHWDY4RWtRQVVzaHJUWVp5d2ljWkpsMDFTN3RGNDNXcng1N0EwTEhsQkVKeHpEWHhLYll2YXM5b3BGVUJET3FyY0tJb3pwTzdFWEJVOWhUYlp1aytxQWxxb3RWY2pqcVUyUnlmMzU0YVVPcU1DSWNld0RzaXEveFpJanJjL2srWjltZm0vMVI1Wmluc3Y3UXpwN2F2ekF5WXUvUEJtcTlHSDdiSTFBYjQvTGJVUmxvMXpBUnpXOWFWZnpYNktFb000WlUraFcxRVVSVEdnb29qYnNEa1A2VGtnR1ZveDU5dnB0Vm94SjVBR1E1OTBnVjlqNlcwaTU5ODNQa3M1My9XaStHbys3aWRKWlFzckxkQUhUQnZ0dGtHTmRTSDhON3VSZGIxdENvVWx5elRicmtWV0dCbERoa3JIc2NqY0J4WXE4aHZTNG12QzNVdHNJaXFDa2hyakFiamhvdDlvc1h5UlVyaFo4U3ZQQUpvTHpRY1RNRUNCWWtLYjRBczY4eER2Q0FYNUlOTFhTMHpkUkxyaVkzSzhPMXc2WkFJOWlweDV2a0YwU0t4TGVhMi94RCtXVU9SakE3QkY1SS9FRUkxQVY2anVxKzBsZm40eGQvRlFIcWllLzcvNEgraUlmNnNOLyszNC85L2lITW11c2tzeDdzQUFBQUFTVVZPUks1Q1lJST0pO1xyXG59XG5cbiJdfQ== */
